加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

文件在linux服务器上消失了

发布时间:2020-12-13 18:09:19 所属栏目:Linux 来源:网络整理
导读:我有4个特定的文件似乎一直在从用户的主目录中消失.据我们所知,没有cronjobs或其他自动化任务可以删除它们.我已经对它们进行了审计,但日志并没有真正显示出任何有趣的内容.我可以看到我们的备份实用程序每晚都访问它们,直到它们不再存在,但没有别的.有没有什
我有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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读