在统信UOS中导出安全事件日志需先确保rsyslog服务运行,核心日志为/var/log/auth.log,推荐用awk按日期提取并打包校验完整性。

在统信UOS系统中导出安全事件日志,是开展合规审计、排查入侵痕迹或对接第三方SIEM平台的前提操作,必须确保日志内容完整、时间连续、权限可追溯,不能仅依赖图形界面点击即得。
确认系统日志服务状态
打开终端,执行 sudo systemctl status rsyslog,检查服务是否处于 active (running) 状态。若显示 inactive 或 failed,后续所有导出操作都将无源可取。
如服务未运行,先执行 sudo systemctl start rsyslog 启动;为防止重启后失效,再执行 sudo systemctl enable rsyslog 设置开机自启。
定位核心安全日志文件路径
统信UOS默认将认证与授权类安全事件写入 /var/log/auth.log,该文件记录包括 sudo 使用、SSH 登录、su 切换、PAM 认证失败等关键行为。
【/var/log/auth.log 是唯一需优先导出的原始安全事件源,不可用 journalctl 实时日志替代】。因为 journal 日志默认启用压缩且滚动策略复杂,而 auth.log 以明文追加、按天轮转,更适合离线分析与归档校验。
补充说明:/var/log/secure 在部分内核配置下可能为空,其存在与否取决于 rsyslog 配置中是否启用 authpriv 设备重定向——统信UOS V20(2022)及之后版本已统一收敛至 auth.log。
导出指定时间段的安全事件日志
方法一:使用 zcat + grep 快速提取(适用于已轮转的压缩日志)
若需导出三天前的登录失败记录,执行:zcat /var/log/auth.log.1.gz | grep "Failed password" > /home/user/auth_failed_20261024.log。
注意:.gz 文件名后缀数字越大表示越旧,.1 是昨天,.2 是前天——误用 .0 可能导致空输出,因 .0 通常指当前正在写的日志,尚未轮转压缩。
方法二:用 awk 精确截取时间范围(推荐用于合规审计)
执行以下命令导出 2026-10-26 全天的 sudo 操作记录:
awk '$0 ~ /^Oct 26/ && /sudo\[/ {print}' /var/log/auth.log > /tmp/sudo_audit_20261026.log
该命令依赖 auth.log 默认的“Mon DD”日期格式,不依赖系统 locale,避免 date 命令解析失败;但【必须确认当前日志日期格式为英文缩写,若系统语言设为中文则此命令失效】。
打包并验证导出日志完整性
第一步:进入日志所在目录 → 执行 cd /var/log
第二步:生成带时间戳的压缩包 → 执行 tar -czf auth_export_$(date +%Y%m%d_%H%M%S).tar.gz auth.log auth.log.1.gz auth.log.2.gz
第三步:校验压缩包是否包含全部目标文件 → 执行 tar -tzf auth_export_*.tar.gz | head -5,确认输出中含 auth.log 及其最近两个轮转文件名。
第四步:计算原始日志 SHA256 值并保存 → 执行 sha256sum auth.log > /tmp/auth.log.sha256,该哈希值须随导出包一并移交,用于接收方验证日志未被篡改。

















