我有4个特定的文件似乎一直在从用户的主目录中消失.据我们所知,没有cronjobs或其他自动化任务可以删除它们.我已经对它们进行了审计,但日志并没有真正显示出任何有趣的内容.我可以看到我们的备份实用程序每晚都访问它们,直到它们不再存在,但没有别的.有没有什么可以导致这些文件被删除,以解决审计?
有问题的文件是这些:
/home/username/.bashrc /home/username/.bash_profile
以及该用户的.ssh目录中的几个文件.放置在名为“keepers”的子文件夹中的这些文件的副本也会同时被删除.将它们的权限更改为000并让它们归root所有并没有帮助.
我目前有inotifywait设置来记录创建,删除,移动该子文件夹,所以希望这会产生一些东西,虽然它不会记录它发生的时间,而不是导致它的原因.
解决方法
您可以使用
systemtap显示尝试在.bashrc和.bash_profile文件的inode上使用
unlink()的所有PID.
安装systemtap和内核的调试符号.
probe syscall.unlink { printf ("%s(%d) unlink (%s) userID(%d)\n",execname(),pid(),argstr,uid()) }
然后使用sudo stap unlink.stap运行它
trace-cmd record -e \*unlink\*
等待文件被删除,按CTRL C停止trace-cmd记录…,然后运行:
trace-cmd report