繁体   English   中英

我如何知道linux计算机中的特定进程修改了哪些文件?

[英]How can I know which files were modified by a specific process in linux machines?

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

我试图使用find命令。 但是由于它没有按特定的PID搜索,所以得到了太多结果。 我想通过查找由特定过程修改的文件来缩小结果范围。 我将lsof命令用于特定的PID。 但是我得到了访问的文件列表,这对我没有帮助,因为我不知道该过程是否更改了它们。 我为特定的PID尝试了strace命令,但是输出很难使用(太多无关信息,我需要24小时的时间范围)

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

Linux不会保留任何记录的日志,该记录由哪个进程修改了。

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

简短的答案是您要查找的信息不存在。

对于您的用例,我所知道的最接近的是SELinux。 仅在您的操作系统上启用SELinux时,此功能才有效。

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

有关更多详细信息,请参见:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM