问题在于:
我在服务器上有一个文件,需要有一组权限,比如644.有时,某些进程会将权限更改为600,我不知道哪个。我如何在行动中抓住它?
对于这类问题和其他类似的问题,我正在寻找一组系统库(我认为),我可以在正常的系统库之前插入,这与普通的库几乎完全相同,除了他们以某种方式记录所做的调用以及时间戳和犯罪者的姓名。有没有提供此功能的工具 - 库,无论如何?
答案 0 :(得分:1)
首先,您需要确定哪个程序正在更改。要做到这一点,你可以使用SElinux,一些Linux发行版(如果不是全部)在/etc/selinux
中进行设置,你可以在那里定义允许的规则。违反规则的行为将被拒绝,但也会记录失败的尝试(因此这既可以消除症状,也可以指出原因)。
有关SElinux的更多信息,我建议您在Unix / Linux上进行交流。
下一步,如果您自己的程序可能会在gdb
下运行它并在chmod
函数处放置一个条件断点。您还可以在gdb
中使用断点进行打印输出并继续执行,这样可以使程序几乎正常运行,但每个chmod
文件都可以打印输出。
答案 1 :(得分:0)
这是审计工作的目的。
有关可能符合您问题重复的示例,请参阅How can I audit all chmod and chgrp commands?。