监视哪个进程在FreeBSD/Linux下修改了一个文件

问题描述:

有时候我感兴趣的文件会被某些进程修改。我需要找出哪个进程正在修改这个文件。使用lsof将不起作用,kqueue也不起作用。这可能在FreeBSD和Linux下使用吗?监视哪个进程在FreeBSD/Linux下修改了一个文件

+0

http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html

看到这听起来像一个系统管理员的问题作为反对一个程序员的问题。 – fuentesjr 2009-01-30 21:26:10

在Linux上,有一个内核补丁浮动在inotify的周围。但是,有些人表示这很少有用,并且可能会带来安全风险。无论如何,这里是patch

除此之外,我不知道有什么办法让该PID,无论是与inotify的dnotify。您可以进一步调查(例如,搜索pid dnotifypid inotify),但我认为这不太可能。

您可以看到哪些进程打开文件只是安装和使用lsof(LiSt打开文件)命令。

在FreeBSD上,或许它应该是最好的,如果你check its auditing features

Linux有一个审计守护进程也auditd homepage