如何查找哪个正在运行的进程正在修改文件的权限(Linux)?

如何查找哪个正在运行的进程正在修改文件的权限(Linux)?

我的系统中有一个进程(标准桌面安装,随时有超过 150 个静态进程)偶尔会重置我已明确设置的配置文件的权限,以便多个用户可以读取该权限。

尽管我有办法防止这种情况发生(例如,更改文件的所有者),但我真的很想找到正在进行更改的进程,只要这样我就可以带着极端的偏见终止它。

我知道内核至少有两种机制可以实现这一点,inotify最新的fanotify.但是,后者仅拦截对文件内容的更改,而不是对 inode 的更改,而前者确实检测到此类更改,但不报告负责的进程。

那么还有其他我不知道的内核机制吗?或者其他一些“捕获”进程的迂回方式,因为它将更改文件的权限,或者在它这样做之后?

答案1

首先尝试列出打开的文件(如果您可以诊断),它也会显示用户以及执行此操作的程序。

lsof /path/file-name

查看这些以了解更多详细信息:

检查哪个进程修改了文件

相关内容