使用ausearch -ui可按UID追溯离职员工越权操作,需auditd启用、规则捕获敏感事件且UID日志完整;确认UID后查日志范围,结合-m/-f筛选EXECVE/openat/chmod等高危行为,用--session/-pid关联上下文,注意UID复用、sudo切换及容器动态UID等盲区。

使用 ausearch 的 -ui(注意不是 -uid)参数可按用户 ID 追溯该用户的全部审计日志,包括离职员工的越权操作行为。关键前提是:系统已启用 auditd 服务、相关事件被规则捕获(如 execve、open、chmod 等敏感操作),且该员工账户的 UID 在日志中仍有完整记录。
确认目标用户的 UID 并验证日志可用性
离职员工通常已禁用账号,但 UID 仍保留在审计日志中。先通过历史信息或 /etc/passwd 备份确认其 UID(例如 1234)。再检查 audit 日志是否包含该 UID 的记录:
- 运行
sudo ausearch -ui 1234 --start today -i | head -5查看是否有输出 - 若无结果,检查日志时间范围:
sudo ausearch -ui 1234 --start 03/01/2024 --end 04/15/2024 -i - 确认 auditd 正在运行:
sudo systemctl status auditd,并检查磁盘空间(/var/log/audit/是否满)
聚焦越权行为的关键事件类型
仅查登录记录不够,需筛选高风险操作。结合 -m(消息类型)和 -f(文件访问)等参数缩小范围:
- 执行特权命令:
sudo ausearch -ui 1234 -m EXECVE -i - 读取敏感配置或密钥:
sudo ausearch -ui 1234 -m SYSCALL arch=x86_64 syscall=openat success=yes perm=4 | aureport -f -i - 提权尝试(如 su/sudo):
sudo ausearch -ui 1234 -m USER_AUTH,USER_ACCT -i - 修改关键系统文件:
sudo ausearch -ui 1234 -m SYSCALL arch=x86_64 syscall=chmod,chown success=yes | aureport -f -i
关联上下文还原操作链条
单条日志难以判断是否越权,需结合进程树与会话 ID 分析行为逻辑:
- 用
--pid和--session关联同一会话内的多个事件:sudo ausearch -ui 1234 --session 12345 -i - 提取关键字段生成时序视图:
sudo ausearch -ui 1234 -m EXECVE,SYS_CALL --start 04/10/2024 | aureport -ts -i --key "sensitive" - 导出为可读格式便于人工审查:
sudo ausearch -ui 1234 --start 04/01/2024 --end 04/15/2024 -i > emp1234_audit.log
注意事项与常见盲区
实际追溯中容易忽略以下细节:
- UID 可能被复用:新用户创建时若分配了相同 UID,日志会混杂,务必核对账号创建时间与离职时间
- sudo 切换后 UID 不变:即使执行
sudo su -,-ui仍匹配原用户 UID,需额外用-c "sudo"或检查exe字段识别提权动作 - 容器或 systemd 用户会话可能使用动态 UID 范围,需确认 audit 规则是否覆盖 cgroup 或 user.slice 上下文
- 日志轮转后旧数据可能归档为
audit.log.1.gz,需用zcat /var/log/audit/audit.log.1.gz | aureport -f -i手动解压查询

















