Linux无sudo-log命令,需查/var/log/auth.log(Debian系)或/var/log/secure(RHEL系),或用journalctl _COMM=sudo查看;日志含用户、TTY、完整COMMAND等字段,sudo≥1.8.15默认记录参数。

直接查系统日志文件是最常用、最可靠的方式。Linux 默认不提供 sudo-log 命令,所谓“sudo日志”实际由 rsyslog 或 journald 记录在标准安全日志里,关键是要知道路径、筛选方法和日志含义。
确认日志位置:先看你的系统类型
不同发行版默认写入不同文件:
-
Ubuntu / Debian / Linux Mint:日志通常在
/var/log/auth.log -
RHEL / CentOS / Rocky / AlmaLinux:日志通常在
/var/log/secure -
使用 systemd-journald 的系统(多数现代发行版):可用
journalctl统一查看,无需找文件
快速查看最近的 sudo 操作
用以下命令立即获取有效记录:
- 查 auth.log(Debian系):
sudo grep "sudo:" /var/log/auth.log - 查 secure(RHEL系):
sudo grep "sudo:" /var/log/secure - 用 journalctl(通用):
sudo journalctl _COMM=sudo -n 50(显示最近50条) - 实时监控新操作:
sudo journalctl _COMM=sudo -f或sudo tail -f /var/log/auth.log | grep --line-buffered "sudo:"
读懂日志内容:重点看这三部分
一条典型日志像这样:
Jul 28 14:22:03 server sudo: alice : TTY=pts/1 ; PWD=/home/alice ; USER=root ; COMMAND=/bin/ls -l /etc- alice:执行 sudo 的普通用户名
- TTY=pts/1:登录终端(可辅助判断是否远程 SSH 或本地终端)
- COMMAND=/bin/ls -l /etc:完整执行的命令及参数——注意,这是默认就记录参数的(只要 sudo ≥ 1.8.15 且未禁用),不是只记命令名
如果需要更完整的审计能力(如防删改、记录输入输出)
仅靠基础日志不够合规,建议补充两层增强:
-
启用 auditd 内核审计:安装
auditd,加规则监听/usr/bin/sudo,日志存于/var/log/audit/audit.log,root 也无法删除,且含完整argv参数 -
配置独立 sudo 日志(可选):在
/etc/sudoers中用visudo添加Defaults logfile="/var/log/sudo.log",再配 rsyslog 转发,便于集中管理


















