使用ausearch查错误日志需组合时间范围、事件类型和失败状态,并加-i提升可读性;审计日志默认UTC存储,必须用--tz local或换算UTC时间,时间参数仅支持ISO 8601或相对关键词(如yesterday),斜杠/点分隔格式非法。

直接用 ausearch 按时间段查错误日志,关键是把时间范围、事件类型和失败状态三个条件组合好,再加 -i 让输出可读。审计日志默认按 UTC 存储,不指定时区容易查错时间——这点最容易踩坑。
用 -ts 和 -te 限定时间窗口
时间参数只接受两种格式:ISO 8601(YYYY-MM-DD HH:MM:SS)或相对关键词(today、yesterday、last-hour)。斜杠或点分隔的日期会报错。
-
ausearch -ts "2026-10-09 08:00:00" -te "2026-10-09 18:00:00"—— 查昨天上午到傍晚的日志 -
ausearch -ts yesterday -te now—— 查从昨天同一时刻到现在所有事件 - 避免写
--start "09/10/2026"或--start last 2 hours,这些都不合法
聚焦“错误”要靠 -m 和 -sv 配合
“错误日志”不是一类固定消息,而是特定事件类型中失败的结果。常用组合有:
-
-m SYSCALL -sv no—— 所有失败的系统调用(如权限拒绝、文件不存在、拒绝连接) -
-m USER_LOGIN -sv no—— 所有登录失败尝试(需 auditd 已启用登录记录) -
-m CONFIG_CHANGE -sv no—— 配置修改失败(比如修改 /etc/sudoers 权限不足) - 多个类型可并列:
-m EXECVE -m SETUID -sv no
务必加上 --tz local 或明确按 UTC 查
auditd 写日志用的是 UTC,但你的终端可能是 CST(UTC+8)。如果你在本地时区执行:
-
ausearch -ts "2026-10-10 10:00:00" -te "2026-10-10 11:00:00"→ ausearch 默认当这是 UTC 时间,实际查的是你本地时间 18:00–19:00 的事件 - 正确做法是显式声明:
ausearch --tz local -ts "2026-10-10 10:00:00" -te "2026-10-10 11:00:00" - 或者统一用 UTC 时间写法:
-ts "2026-10-10 02:00:00" -te "2026-10-10 03:00:00"(对应 CST 10:00–11:00)
加 -i 和管道提升可读性与效率
原始输出全是数字 ID(如 uid=1001),不翻译很难判断是谁干的。建议每条命令都带 -i;若结果太多,可接 aureport -f -i 聚合出高频文件和用户:
ausearch -ts yesterday -te now -m SYSCALL -sv no -i | head -20-
ausearch -m USER_LOGIN -sv no -ts today -i | aureport -f -i—— 查今天所有失败登录涉及的终端和来源 IP - 想看某次失败的具体上下文,用
--input-logs或配合ausearch -a [audit_id]追踪完整事件链











