Auditd - auditctl规则仅监视dir(不是所有子目录和文件等..)

sup*_*roi 8 linux shell audit monitoring

我试图使用auditd来监视目录的更改.问题在于,当我设置规则时,它会监视我指定的目录,但是由于无穷无尽的冗长,所有子目录和文件使得监视器无用.

这是我设置的规则:

auditctl -w /home/raven/public_html -p war -k raven-pubhtmlwatch
Run Code Online (Sandbox Code Playgroud)

当我使用搜索日志时

ausearch -k raven-pubhtmlwatch
Run Code Online (Sandbox Code Playgroud)

我收到数千行日志,列出了public_html /下的所有内容

如何将规则限制为仅指定目录上的更改?

非常感谢你.

sup*_*roi 13

手表实际上是伪装的系统调用规则.如果将监视放在目录上,auditctl会将其转换为:

-a exit,always  -F dir=/home/raven/public_html -F perm=war -F key=raven-pubhtmlwatch
Run Code Online (Sandbox Code Playgroud)

-F dir字段是递归的.但是,如果您只想查看目录条目,则可以将其更改为-F路径.

-a exit,always  -F path=/home/raven/public_html -F perm=war -F key=raven-pubhtmlwatch
Run Code Online (Sandbox Code Playgroud)

这不是递归的,只是观察目录占用的inode.

我必须手动添加规则:/etc/audit/audit.rules

然后使用重启auditd

/etc/init.d/auditd restart
Run Code Online (Sandbox Code Playgroud)

现在规则已添加,效果很好!所有的功劳都归功于Steve @ redhat,他在审核邮件列表中回答了我的问题:https: //www.redhat.com/archives/linux-audit/2013-Stembert/msg00057.html