麒麟os审计日志默认关闭,须先在内核启动参数添加audit=1并重启,再安装启动auditd服务,最后加载持久化规则(如监控sudoers和sudo执行),否则audit.log始终为空。

麒麟OS系统审计日志功能默认处于关闭状态,不手动启用就无法生成任何audit.log记录,所有后续审计规则加载都无效;必须先确保内核启动参数含audit=1,再启动auditd服务并加载规则,否则查/var/log/audit/audit.log永远为空。
确认并启用内核审计支持
auditd依赖内核级审计框架,若启动参数未开启,服务即使运行也无实际审计能力。
第一步:检查当前内核是否已启用审计→sudo cat /proc/cmdline | grep audit=1
若无输出,说明内核未启用审计,需修改GRUB配置。此时直接启动auditd服务只会产生空日志文件,且ausearch等工具查不到任何事件。
第二步:备份原始GRUB配置→sudo cp /etc/default/grub /etc/default/grub.bak
第三步:编辑GRUB主配置→sudo nano /etc/default/grub
找到GRUB_CMDLINE_LINUX行,在引号内末尾添加【audit=1】(注意与原有参数用空格分隔),例如原为"quiet splash",改为"quiet splash audit=1"
第四步:重新生成GRUB配置文件→sudo grub2-mkconfig -o /boot/grub2/grub.cfg
第五步:重启系统→sudo reboot
安装并启动auditd服务
内核启用后,还需安装并运行auditd守护进程,它负责接收内核事件、写入日志、管理轮转。
执行sudo apt list --installed | grep auditd验证是否已安装。若无输出,运行【sudo apt install auditd -y】
启用并立即启动服务→sudo systemctl enable --now auditd
验证状态→sudo systemctl status auditd,看到active (running)且Loaded行含enabled才表示成功
加载并持久化关键审计规则
服务运行后若不加载规则,audit.log仍为空;必须至少加载一条监控规则才能触发日志写入。
方法一:即时加载sudoers访问监控(防绕过)→sudo auditctl -w /etc/sudoers -p wa -k sudoers_access
方法二:同时监控sudo执行行为→sudo auditctl -a always,exit -F path=/usr/bin/sudo -F perm=x -k sudo_exec
将上述规则持久化,避免重启失效:echo "-w /etc/sudoers -p wa -k sudoers_access" | sudo tee -a /etc/audit/rules.d/custom.rules
重启auditd使持久化规则生效→sudo systemctl restart auditd











