如何找出哪些进程正在从特定目录中删除文件?

如何找出哪些进程正在从特定目录中删除文件?

我试图找出哪些进程正在从特定目录中删除文件,所以我想auditd在我的系统上设置并运行。

我在中制定了以下规则audit.rules

-w S unlink -S truncate -S ftruncate -a exit,always -k cache_deletion -w /home/myfolder/cache

然后我输入以下命令来启动审计守护进程:

auditctl -R /etc/audit/audit.rules -e 1

但我收到此错误信息:

Error - nested rule files not supported

有人知道我在这里做错了什么,以及如何解决这个问题?

另外,我要做什么才能使守护进程在启动时运行?

答案1

该规则试图定义两条要审计的路径,-w S-w /home/myfolder/cache。您只能使用-p and -k带有的选项-w

尝试以下规则:

-a exit,always -S unlinkat -S truncate -S ftruncate -F dir=/home/myfolder/cache -F key=cache_deletion

...或者为了简单起见:

-w /home/myfolder/cache -k cache_deletion -p wa

要在启动时启动服务:

/sbin/chkconfig auditd on

答案2

最后,我放弃尝试这样做,因为我能够(通过其他方法)识别导致删除发生的一些代码。

相关内容