auditd日志写入需同时满足服务启动、规则配置、内核模块启用三条件;必须依次完成安装、启用内核审计、启动服务、验证状态四步,缺一不可。

auditd 服务默认不启动、规则为空、内核审计模块可能未启用,三者缺一,日志就写不进 /var/log/audit/audit.log。必须按顺序确认并完成安装、启用、启动、验证四步,不能跳过任何环节。
确认是否已安装 auditd
不同发行版命令不同,先查再装:
- Ubuntu/Debian:
dpkg -l | grep auditd,未安装则运行sudo apt update && sudo apt install auditd audispd-plugins - RHEL/CentOS 7/8:
rpm -q auditd,未安装则运行sudo yum install audit audit-libs(7)或sudo dnf install audit audit-libs(8+)
确保内核审计模块已启用
有些系统(尤其是精简镜像或云实例)在内核启动参数中禁用了 audit。检查命令:
cat /proc/cmdline | grep audit
若输出含 audit=0,说明被禁用。需编辑 /boot/grub2/grub.cfg(或 /etc/default/grub 后运行 grub2-mkconfig),将 audit=0 改为 audit=1 或直接删除该参数,然后重启系统。
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
重启后再次检查,应看到 audit=1;再运行 auditctl -s | grep enabled,输出应为 enabled 1。
启用并启动 auditd 服务
注意:systemctl restart 在 CentOS 7 上会清空临时规则,不推荐用于“启动”动作;首次启用请严格使用以下命令:
- 开机自启:
sudo systemctl enable auditd - 立即启动:
sudo systemctl start auditd - 验证状态:
sudo systemctl status auditd,必须显示 active (running)
若状态异常(如 failed 或 inactive),不要反复 restart,先看日志:sudo journalctl -u auditd -n 50 --no-pager,常见原因包括配置文件语法错误、磁盘空间不足或规则路径不存在。
验证审计功能真正就绪
仅服务 running 不代表能记录事件。还需两步确认:
- 检查内核规则加载情况:
sudo auditctl -l,初始应为空(说明规则尚未配置),但至少不能报错;若提示No rules是正常现象 - 确认日志文件可写且存在:
ls -l /var/log/audit/audit.log,若文件不存在,auditd 启动后会自动创建;若权限异常(如 root:root 且非 600),可用sudo chmod 600 /var/log/audit/audit.log修正
此时 auditd 已处于待命状态,下一步即可添加永久规则并加载。










