需手动启用auditd服务并配置持久化监控规则:先启动auditd,再用auditctl添加-w路径规则,写入/etc/audit/rules.d/并重载,最后用ausearch按标签检索日志。

您需要在麒麟操作系统中记录用户对某个文件夹的读取、写入或执行操作,以便审计谁在何时访问了项目资料、共享目录或敏感数据,系统本身不自动开启该功能,必须手动配置底层审计机制。
启用auditd服务并创建基础审计规则
auditd是Linux内核级审计框架,能精确捕获文件访问事件,比日志轮转或chmod更底层可靠。若未启用,所有后续规则均无效。
第一步:确认auditd服务状态→ sudo systemctl is-active auditd
第二步:若返回inactive,立即启用并开机自启→ sudo systemctl enable --now auditd
第三步:验证服务已运行且内核模块加载→ sudo auditctl -s | grep "enabled"
第四步:为指定文件夹添加路径监控规则→ sudo auditctl -w /path/to/folder -p rwxa -k folder_access
【-p rwxa表示监控读、写、执行、属性变更四种操作;-k后跟的标签名必须唯一,用于后续日志筛选】
将审计规则持久化保存
临时添加的规则在auditd重启或系统重启后会丢失,必须写入配置文件才能长期生效。
执行sudo nano /etc/audit/rules.d/folder-audit.rules
在文件中写入单行规则:-w /path/to/folder -p rwxa -k folder_access
保存退出后,重新加载全部规则→ sudo augenrules --load
检查是否成功载入→ sudo auditctl -l | grep folder_access
查看和筛选文件夹访问日志
auditd日志不存于/var/log/下,而是由ausearch命令专门提取,直接读取二进制日志效率低且易出错。
方法一:检索最近24小时内对该文件夹的所有访问记录→ sudo ausearch -k folder_access --start today
方法二:只显示写入(write)操作,并输出完整路径与用户名→ sudo ausearch -k folder_access -m SYSCALL -i | awk '/write/ {for(i=1;i
方法三:导出全部匹配记录到文本文件便于归档→ sudo ausearch -k folder_access > ~/folder_access_log_$(date +%Y%m%d).txt
验证日志是否真实捕获操作
不验证就认为规则生效是常见误判,必须用实际动作触发并确认日志生成。
在目标文件夹中新建一个测试文件→ touch /path/to/folder/test_audit.log
立即执行日志检索→ sudo ausearch -k folder_access -m SYSCALL -i | tail -n 5
【若输出中包含comm="touch"且cwd字段指向该路径,则说明审计链路完整;若无任何输出,检查auditd是否运行、规则是否加载、路径拼写是否绝对正确】


















