受命令影响的文件

Sol*_*osa 2 command-line file-comparison

有没有办法知道哪些文件受到终端中输入的任何命令的影响?例如,我们都知道passwd命令的作用,以及它影响的文件。但是有没有明确的方法可以知道任何命令影响的确切文件名?

我有一个将用户添加到文件的命令,该命令对这些用户实施了一些策略。但我不确定它添加到哪个文件。

小智 5

你可以通过这样做来基本地做到这一点strace -e open <cmd>;还可以-f选择跟踪子进程;该strace方法对用户不是很友好(您需要基本了解一些 C、系统调用等)并且不能长期工作。还有其他类似的工具sysdig可能有用(尚未为此目的使用它)。您可以运行auditd或基于文件的 IDS,例如 AIDE,并让它检测某些文件何时被更改。

在您的问题中,我不知道您是在询问如何确定程序访问了哪些文件(即审计),还是在尝试根据正在访问的某些文件(IDS)发出警报。如果您想弄清楚程序访问了哪些文件,最好的方法是阅读源文件;像这样strace的工具是低级的。