如何检查 Linux 中哪个进程/实用程序/cron 创建/修改了文件/文件夹

如何检查 Linux 中哪个进程/实用程序/cron 创建/修改了文件/文件夹

我在服务器上有一个文件夹,里面有一个网站。该服务器已经与互联网切断,但过了一段时间,其中会自动创建几个文件夹,每个文件夹里都有一些可疑文件。

我已检查所有用户的 Cron 作业,Cron 中没有任何作业在运行。在我尝试使用 Inotify 工具检查文件夹的系统调用后,我得到了以下结果:

./Lq1Lbs/ MODIFY index.html
./Lq1Lbs/ CLOSE_WRITE,CLOSE index.html
./nmt08u/ MODIFY index.html
./nmt08u/ OPEN index.html
./nmt08u/ ATTRIB index.html
./nmt08u/ ATTRIB index.html
./nmt08u/ MODIFY index.html
./nmt08u/ CLOSE_WRITE,CLOSE index.html

但我需要知道哪个确切的实用程序、脚本、用户或什么创建了其中的文件夹和文件。我已经尝试过 tripwire、ossec、AIDE,它们都只是通知文件的创建/删除或修改,但没有告诉我哪个确切的脚本、文件、脚本或实用程序执行了此操作。有可能知道吗?

简而言之,哪个进程更改或创建了哪个文件/文件夹,这就是我想知道的。谢谢

答案1

实现该目标的唯一明智方法是使用 Liunx 审计框架 (LAF)。检查这个快速启动关于如何处理您的问题的文档。

答案2

我不知道事后该怎么做,但是审计守护进程可以捕获这些信息。

配置 auditd 来监视/etc/passwd

auditctl -w /etc/passwd -p war -k password-file

检查谁修改了/etc/passwd

ausearch -f /etc/passwd -i

它非常强大,功能远不止上述这些。

Linux 审计文件以查看谁对文件进行了更改

答案3

其中一个方法是Unix/Linux 网站上的问答,就是结合Linux的通知子系统使用lsof命令。后者列出所有打开的文件句柄。如果您lsof在有趣的文件创建或修改发生时立即触发,则很有可能抓住罪魁祸首。但是,没有保证——如果进程尽快写入文件并随后立即退出,则此方法将不起作用。

相关内容