logging进程访问的每个文件

我希望能够在Linux机器上进行一个进程,并logging在某个时间窗口内打开,读取或写入的每个文件。

例如,假设我怀疑Apache出于某种原因正在使用不正确的文件。 我怎么能运行触发文件打开/读取的请求,然后获得由Apache进程打开的每个文件的列表,以便debugging?

Strace是想到的一个方法。

这个答案更详细地讨论它:

可以strace显示我读/写syscalls的文件名/path

Auditd是为此目的而构build的。 你可以创build简单的规则来logginguid,gid(大于或小于uid / gid),目录,文件系统等的特定forms的访问。