用于跟踪的系统库?

时间:2015-12-15 13:13:01

标签: c linux

问题在于:

我在服务器上有一个文件,需要有一组权限,比如644.有时,某些进程会将权限更改为600,我不知道哪个。我如何在行动中抓住它?

对于这类问题和其他类似的问题,我正在寻找一组系统库(我认为),我可以在正常的系统库之前插入,这与普通的库几乎​​完全相同,除了他们以某种方式记录所做的调用以及时间戳和犯罪者的姓名。有没有提供此功能的工具 - 库,无论如何?

2 个答案:

答案 0 :(得分:1)

首先,您需要确定哪个程序正在更改。要做到这一点,你可以使用SElinux,一些Linux发行版(如果不是全部)在/etc/selinux中进行设置,你可以在那里定义允许的规则。违反规则的行为将被拒绝,但也会记录失败的尝试(因此这既可以消除症状,也可以指出原因)。

有关SElinux的更多信息,我建议您在Unix / Linux上进行交流。

下一步,如果您自己的程序可能会在gdb下运行它并在chmod函数处放置一个条件断点。您还可以在gdb中使用断点进行打印输出并继续执行,这样可以使程序几乎正常运行,但每个chmod文件都可以打印输出。

答案 1 :(得分:0)

这是审计工作的目的。

有关可能符合您问题重复的示例,请参阅How can I audit all chmod and chgrp commands?