我需要在特定的时间范围内获取我的linux机器(AIX,Solaris,Red Hat,CentOS,HP-UX)上所有已修改文件的列表(类似于Windows中的proc mon或forfiles)
我尝试使用查找命令。但由于它没有按照特定的PID进行搜索,因此得到的结果太多了。 我想通过查找由特定进程修改的文件来缩小结果范围。我使用 lsof 命令来获取特定的PID。但我得到了访问过的文件列表,这对我没什么帮助,因为我不知道这个过程是否改变了它们。 我尝试使用 strace 命令来获取特定的PID,但输出很难处理(太多不相关的信息,我需要24小时的时间范围)
我有点死路一条。有任何想法吗? (简而言之 - 我希望通过特定时间范围内的特定进程获取所有已修改文件的列表)
答案 0 :(得分:0)
Linux不维护任何类型的记录日志,其中哪些文件是由哪个进程修改的。
唯一记录的信息是每个文件的最后修改时间戳。甚至可以通过任何具有适当特权的流程任意调整,例如,未来十年。
简短的回答是,您所寻找的信息不存在。
答案 1 :(得分:0)
我所知道的最接近你的用例是SELinux。这仅在您的操作系统上启用SELinux时才有效。
SELinux能够记录大量信息以及uid,gid和PID(正是您所需要的)以进行不同的操作。
有关详细信息,请参阅: