auditctl -w 监控目录时,如果发现子目录或目录内文件的操作没有被记录,原因其实很明确:-w 只会盯住目标路径本身的 inode,并不会递归追踪下面的子项。也就是说,像 -w /etc 这样的规则,只能捕获类似 chmod /etc 这类直接作用在目录自身的操作;至于 chmod /etc/passwd,默认并不会被这条规则记下来,需要单独补充规则,或者改用 -a always,exit -F dir=/etc 这类方式。

如何在Linux中配置具体的系统级目录权限递归审计记录查看规则

auditctl -w 监控目录时为什么没记录子目录操作

因为 -w 默认只监控目标路径本身,不递归子项。比如 auditctl -w /etc 只捕获对 /etc 目录节点的属性修改(如 chmod /etc),但不会记录 /etc/passwd 的写入。

/etc/audit/rules.d/ 下规则文件名后缀必须是 .rules 吗

是,augenrules 只扫描 .rules 结尾的文件。写成 10-security.confaudit.cfg 会被忽略,重启 auditd 后规则完全不加载。

如何让审计日志包含具体操作的用户和命令参数

默认情况下,execve 系统调用的审计日志通常只会记下调用者的 UID 和可执行文件路径,argv 参数并不会一并带上。也就是说,如果想看到像 rm -rf /tmp/* 这样完整的命令行,光靠默认记录是不够的,必须明确启用 -F exe=,或者借助 aureport -f -i 做反向解析。不过后者能不能还原出来,关键还得看 audit.log 里当时有没有保存足够的相关字段。

audit.log 日志被轮转后旧文件权限不对怎么办

logrotate 默认用 root 身份创建新日志,但旧日志可能残留为 root:root 600,导致普通审计分析脚本无法读取,且不符合最小权限原则。

审计规则不是设完就完事。真正难的是在 -F dir=-w 之间选对模式,在 .rules 文件名和 logrotate 权限上不出错,以及确认 ausearch -i 能吐出你想要的命令参数——这三处最容易被跳过验证。

本文转载于:https://www.php.cn/faq/2993027.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。