文件在linux服务器上消失了

前端之家收集整理的这篇文章主要介绍了文件在linux服务器上消失了前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有4个特定的文件似乎一直在从用户的主目录中消失.据我们所知,没有cronjobs或其他自动化任务可以删除它们.我已经对它们进行了审计,但日志并没有真正显示出任何有趣的内容.我可以看到我们的备份实用程序每晚都访问它们,直到它们不再存在,但没有别的.有没有什么可以导致这些文件删除,以解决审计?

有问题的文件是这些:

/home/username/.bashrc
/home/username/.bash_profile

以及该用户的.ssh目录中的几个文件.放置在名为“keepers”的子文件夹中的这些文件的副本也会同时被删除.将它们的权限更改为000并让它们归root所有并没有帮助.

我目前有inotifywait设置来记录创建,删除,移动该子文件夹,所以希望这会产生一些东西,虽然它不会记录它发生的时间,而不是导致它的原因.

解决方法

您可以使用 systemtap显示尝试在.bashrc和.bash_profile文件的inode上使用 unlink()的所有PID.

安装systemtap和内核的调试符号.

使用以下内容创建名为unlink.stap的文件

probe syscall.unlink
{
    printf ("%s(%d) unlink (%s) userID(%d)\n",execname(),pid(),argstr,uid())
}

然后使用sudo stap unlink.stap运行它

您还可以使用inotify查看文件何时被删除.

另一个解决方案是使用ftrace

trace-cmd record -e \*unlink\*

等待文件删除,按CTRL C停止trace-cmd记录…,然后运行:

trace-cmd report

猜你在找的Linux相关文章