![如何找出哪些进程正在从特定目录中删除文件?](https://linux22.com/image/597157/%E5%A6%82%E4%BD%95%E6%89%BE%E5%87%BA%E5%93%AA%E4%BA%9B%E8%BF%9B%E7%A8%8B%E6%AD%A3%E5%9C%A8%E4%BB%8E%E7%89%B9%E5%AE%9A%E7%9B%AE%E5%BD%95%E4%B8%AD%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我试图找出哪些进程正在从特定目录中删除文件,所以我想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
最后,我放弃尝试这样做,因为我能够(通过其他方法)识别导致删除发生的一些代码。