auditd服务需依次完成安装确认、启动守护进程、设置开机自启三步才可生成有效日志;缺一不可,否则/var/log/audit/audit.log无审计记录。

启动并启用 auditd 服务不是装完就自动工作的,必须按顺序完成三件事:确认已安装、启动守护进程、设置开机自启。跳过任一环节,/var/log/audit/audit.log 就不会产生有效日志。
确认 auditd 已正确安装
很多精简系统(如某些 Docker 镜像或最小化安装的 CentOS/Ubuntu)默认不带 auditd:
- RHEL/CentOS/Fedora:
sudo rpm -q auditd—— 若无输出,运行sudo yum install audit(CentOS 7)或sudo dnf install audit(CentOS 8+) - Debian/Ubuntu:
dpkg -l | grep auditd—— 若未找到,运行sudo apt update && sudo apt install auditd audispd-plugins
启动服务并验证运行状态
安装后服务默认是 inactive 的,必须手动激活:
- 启动当前会话的服务:
sudo systemctl start auditd - 检查是否真正运行:
sudo systemctl status auditd—— 必须看到 active (running),不能是 inactive (dead) 或 failed - 如果显示 failed,常见原因是内核模块
audit未加载,可临时补救:sudo modprobe audit,再重试 start
设置开机自启并确保规则持久化
仅 start 不够,重启后规则和状态都会丢失:
- 启用开机自启:
sudo systemctl enable auditd - 注意:CentOS 7 不支持
systemctl restart auditd,它会清空所有运行时规则;永久规则必须写入/etc/audit/rules.d/目录下以.rules结尾的文件(如99-custom.rules),再执行sudo augenrules --load加载 - 验证规则是否进内核:
sudo auditctl -l应有输出,而非空
快速验证日志是否开始记录
服务跑起来只是第一步,最终要看日志有没有内容:
- 查看最新审计事件:
sudo ausearch -m SYSCALL -ts recent | head -5 - 实时追加日志:
sudo tail -f /var/log/audit/audit.log—— 正常会有时间戳、type=SYSCALL 等条目滚动出现 - 若日志为空或只有“auditd startup”记录,说明服务没真活、规则没加载、或内核模块缺失,需回头逐项排查


















