我可以
auditctl -a always,exit -S all -F pid=1234
记录 pid 1234 完成的所有系统调用:
auditctl -a always,exit -S all -F ppid=1234
对于它的孩子,但我如何覆盖孙子和他们的孩子(当前和未来)?
我不能依赖 (e)uid/(e)gid 的改变。
(请注意,使用strace
也不是一个选项)
答案1
只是提出一些建议,但现在没有任何方法可以尝试......但只是从帖子本身猜测
这是一个解决方案的建议:
假设最上面的进程ID在$pid中,并且在Linux上也ps -T
给出了进程树(我现在无法访问Linux)
for eachpid in $(ps -T "$pid" | awk '{print $1}' | grep -v 'PID')
do
auditctl -a always,exit -S all -F pid=$eachpid >somelog_${eachpid}.log 2>&1
done
当然,ps -T "$pid"
如果那个在 Linux 上不起作用,请替换为 linux 的等效项(或者通过 awk-ing“pstree -p”输出找到它,pid 将位于括号之间)