2013-05-07 53 views
1

我試圖與strace一些二進制但奇怪的問題用於克隆子

strace -f ./ioncube_encoder53 

的痕跡,它主要處理好遇到的,但設法追蹤兒童在使用strace EPERM子過程未能與

clone(Process 22790 attached 
child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xff4918) = 22790 
[pid 22789] waitpid(22790, Process 22789 suspended 
<unfinished ...> 
[pid 22790] ptrace(PTRACE_TRACEME, 0, 0, 0) = -1 EPERM (Operation not permitted) 

下面是我的環境的細節:

[[email protected] ioncube]# id 
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) 

[[email protected] ioncube]# getenforce 
Disabled 

[[email protected] ioncube]# cat /etc/redhat-release 
CentOS release 5.9 (Final) 

[[email protected] ioncube]# uname -a 
Linux alpaca-dev.lunarbreeze.com 2.6.18-348.4.1.el5xen #1 SMP Tue Apr 16 17:29:06 EDT 2013 i686 i686 i386 GNU/Linux 

我關閉SELinux的,在「根」用戶,TRA跟蹤cing後代程序, 我沒有發現任何提及的進程可以禁止自己跟蹤

有什麼想法嗎?

+0

據我所知,一個進程可以從它的繼承集中刪除PTRACE能力。我不知道這是否是問題,我有類似的問題。 – mcr 2013-05-13 02:44:41

回答

0

從我在這裏可以看到:https://blog.packagecloud.io/eng/2015/11/15/strace-cheat-sheet/,這可能發生,如果「strace不允許附加到您的系統上的進程」。也許它不會從父級繼承一些標誌並將它們設置爲某些系統默認值(瘋狂猜測)。

您可以按照文章開始處的步驟禁用該行爲並允許跟蹤所有處理。

希望它有幫助。