必须同时配置内核参数与auditd服务才能启用或禁用麒麟系统审计功能:开启需设audit=1并启动auditd,关闭需设audit=0或运行时执行auditctl -e 0。

如果您在麒麟操作系统中需要启用或禁用内核级审计服务(audit),则必须分别操作内核启动参数与用户空间守护进程,二者缺一不可。以下是开启与关闭内核审计服务的多种独立可行方法:
一、开启内核审计服务:修改GRUB参数并重启
该方法通过强制内核在加载阶段启用审计子系统,是启用audit功能的前提条件。若内核未携带audit=1参数,后续所有auditd服务配置均无法生效。
1、备份原始GRUB配置文件:cp -r /etc/default/grub /etc/default/grub.bak
2、编辑GRUB默认配置:vim /etc/default/grub
3、定位GRUB_CMDLINE_LINUX行,在其末尾添加audit=1;若该行已存在audit=0,需将其替换为audit=1
4、重新生成GRUB配置:grub2-mkconfig -o /boot/grub2/grub.cfg(x86_64)或grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg(UEFI环境)
5、执行重启:reboot
6、验证内核参数是否生效:cat /proc/cmdline | grep audit=1,若输出包含该字符串,则表示内核审计已启用
二、开启内核审计服务:动态启用audit子系统(无需重启)
当无法立即重启系统时,可通过auditctl -e 1临时启用内核审计功能,但该操作仅在当前运行周期有效,重启后失效。
1、确认当前audit状态:auditctl -s | grep enabled
2、若返回值为enabled 0,执行启用命令:auditctl -e 1
3、再次验证:auditctl -s | grep enabled,应显示enabled 1
4、注意:此方式不持久,仅适用于紧急调试或临时验证场景
三、开启用户空间审计服务:启动并启用auditd守护进程
auditd是接收、过滤、写入和轮转审计日志的核心用户态服务,必须在内核审计启用后方可正常工作。
1、检查服务当前状态:systemctl status auditd.service
2、若未运行,启用并立即启动:systemctl enable --now auditd.service
3、确认服务处于激活状态:systemctl is-active auditd应返回active
4、验证日志目录可写:ls -ld /var/log/audit/,权限应包含drwxr-x---且属主为root:root
四、关闭内核审计服务:禁用内核审计支持
彻底关闭内核审计需从源头阻断,即令内核拒绝加载audit子系统,这是最根本的关闭方式,可避免内存泄漏与高负载问题。
1、编辑GRUB配置:vim /etc/default/grub
2、将GRUB_CMDLINE_LINUX行中的audit=1改为audit=0;若无该参数,直接追加audit=0
3、更新GRUB配置:grub2-mkconfig -o /boot/grub2/grub.cfg
4、重启系统:reboot
5、重启后验证:auditctl -s应报错Error - audit support not in kernel,表明内核审计已完全禁用
五、关闭内核审计服务:运行时禁用并防止开机恢复
若无法重启,或需在保留内核audit模块的前提下临时停用审计功能,需同时禁用auditd服务并设置内核运行时开关。
1、停止auditd服务:systemctl stop auditd.service
2、禁用开机自启:systemctl disable auditd.service
3、执行运行时禁用:auditctl -e 0
4、验证禁用结果:auditctl -s | grep enabled应返回enabled 0
5、为确保重启后仍保持禁用,需在/etc/rc.d/rc.local中追加:echo "auditctl -e 0" >> /etc/rc.d/rc.local,并赋予执行权限:chmod +x /etc/rc.d/rc.local










