必须用ausearch -i解析audit.log原始日志,否则全是不可读的数字UID、PID和十六进制字段;-i将uid=1001转为用户名、pid=12345转为进程名、还原路径和时间,关键看comm、exe、auid、cwd、ppid字段。

用 ausearch -i 查具体事件
这是最常用也最有效的查看方式。`-i` 参数会把数字 ID 转成可读信息:uid=1001 → username,pid=12345 → 实际进程名,路径也还原为真实路径。
- 查某个文件被修改:`sudo ausearch -k myfile_mod -i`(前提是规则加了 `-k myfile_mod`)
- 查某用户操作:`sudo ausearch -ua username -i`
- 查某命令执行:`sudo ausearch -c chmod -i`
- 查今天所有事件:`sudo ausearch --start today -i`
别依赖 -f /path/to/file 直接查路径
`-f` 按文件路径匹配容易失效。auditd 日志记录的是 inode 层面的快照,一旦文件被 mv 替换、通过软链接访问、或挂载点变动,`-f` 就查不到。更可靠的方式是用 `-k` 关键字过滤——规则里怎么设的 `-k`,查的时候就用哪个关键字。
- 错误示例:`ausearch -f /etc/ssh/sshd_config`(可能为空)
- 正确做法:规则写 `-w /etc/ssh/sshd_config -p wa -k sshd_perm`,然后查 `ausearch -k sshd_perm -i`
关键字段怎么看才不漏线索
解析后日志里几个字段决定能否准确定位操作者:
-
comm:触发命令名,如
chmod、vim、bash -
exe:真实可执行路径,用于识别是否是伪装进程(比如
/tmp/chmod而非/usr/bin/chmod) - auid:原始登录用户 ID,比 uid 更可靠——即使用了 sudo 或 su,auid 仍保持最初登录用户
- cwd:当前工作目录,有助于还原操作上下文
-
ppid:父进程 ID,当 comm 显示 unknown 时,可用 `ausearch -p
-i` 向上追溯调用链
临时看原始日志只适合快速确认有无记录
如果只是验证 auditd 是否在工作,可以用:
- `sudo tail -n 20 /var/log/audit/audit.log` 看最新几条原始记录
- `sudo date -d @1758636000` 把日志里的秒数时间转成可读格式(例如 1758636000 → 2025-09-24 10:00:00)
但仅靠这个无法判断是谁、用什么命令、改了什么内容——必须走 `ausearch -i` 流程。


















