auditctl -s 命令可即时查看审计子系统运行状态,包括 enabled(1启用/0禁用)、failure 策略、pid(0表示守护进程未运行)、lost(丢失事件数)、rate_limit 和 backlog_limit;异常时需结合 systemctl、auditctl -l、ausearch 等命令综合诊断。

使用 auditctl -s 命令可立即获取当前审计子系统的运行状态,无需重启服务或读取日志文件。
核心命令与输出解读
auditctl -s 会显示包括审计守护进程是否启用、事件计数、规则数量、丢失事件统计等关键信息。典型输出中重点关注以下几项:
- enabled:值为 1 表示审计已启用,0 表示禁用
- failure:记录审计失败策略(如 1=panic, 2=exit, 3=silent)
- pid:auditd 进程 ID,为 0 表示守护进程未运行
- lost:内核队列溢出导致丢失的事件数,持续增长说明负载过高或规则过密
- rate_limit 和 backlog_limit:反映当前限流与缓冲区配置
常见状态异常及应对方式
若发现状态异常,可结合以下操作快速定位:
- 当 enabled=0 时,执行
sudo systemctl start auditd启动服务,并用sudo systemctl enable auditd设置开机自启 - 若 pid=0 但服务显示运行中,尝试
sudo pkill auditd && sudo systemctl restart auditd -
lost 值非零且持续上升,需检查规则是否过于宽泛(如监控整个
/etc目录),或调高backlog_limit(通过auditctl -b 8192临时设置)
配合其他命令综合判断
单靠 -s 输出不足以全面诊断,建议组合使用:
-
sudo systemctl status auditd查看服务整体健康状态和最近日志 -
sudo auditctl -l列出当前所有加载的规则,确认是否符合预期 -
sudo ausearch -m avc -ts recent | head -5快速抽查最近 SELinux 审计事件(如有启用)

















