如何知道linux机器中特定进程修改了哪些文件?

时间:2015-10-21 11:24:19

标签: linux

我需要在特定的时间范围内获取我的linux机器(AIX,Solaris,Red Hat,CentOS,HP-UX)上所有已修改文件的列表(类似于Windows中的proc mon或forfiles)

我尝试使用查找命令。但由于它没有按照特定的PID进行搜索,因此得到的结果太多了。 我想通过查找由特定进程修改的文件来缩小结果范围。我使用 lsof 命令来获取特定的PID。但我得到了访问过的文件列表,这对我没什么帮助,因为我不知道这个过程是否改变了它们。 我尝试使用 strace 命令来获取特定的PID,但输出很难处理(太多不相关的信息,我需要24小时的时间范围)

我有点死路一条。有任何想法吗? (简而言之 - 我希望通过特定时间范围内的特定进程获取所有已修改文件的列表)

2 个答案:

答案 0 :(得分:0)

Linux不维护任何类型的记录日志,其中哪些文件是由哪个进程修改的。

唯一记录的信息是每个文件的最后修改时间戳。甚至可以通过任何具有适当特权的流程任意调整,例如,未来十年。

简短的回答是,您所寻找的信息不存在。

答案 1 :(得分:0)

我所知道的最接近你的用例是SELinux。这仅在您的操作系统上启用SELinux时才有效。

SELinux能够记录大量信息以及uid,gid和PID(正是您所需要的)以进行不同的操作。

有关详细信息,请参阅: