通过 visudo 添加 defaults logfile="/var/log/sudo.log" 并手动创建日志文件、设置权限及配置 logrotate,即可实现 sudo 操作的独立日志记录与轮转管理。

直接在 /etc/sudoers 中设置 Defaults logfile="/var/log/sudo.log" 即可实现 sudo 操作的独立日志输出,但需注意权限、路径创建和日志轮转等配套操作。
编辑 sudoers 配置文件
必须使用 visudo 安全编辑,避免语法错误导致 sudo 失效:
- 运行
sudo visudo - 在文件末尾添加一行:
Defaults logfile="/var/log/sudo.log" - 保存退出(
visudo会自动检查语法)
创建日志文件并设置权限
sudo 不会自动创建日志文件或父目录,需手动准备:
- 创建日志文件:
sudo touch /var/log/sudo.log - 设置属主和权限:
sudo chown root:root /var/log/sudo.log && sudo chmod 600 /var/log/sudo.log - 确保
/var/log目录可写(通常默认满足)
配置日志轮转(防止日志无限增长)
为避免 /var/log/sudo.log 占满磁盘,建议添加 logrotate 规则:
- 新建配置文件:
sudo tee /etc/logrotate.d/sudo - 填入以下内容:
/var/log/sudo.log { daily missingok rotate 30 compress delaycompress notifempty create 600 root root }
验证配置是否生效
执行一条 sudo 命令后检查日志是否写入:
- 运行
sudo ls /tmp - 查看日志:
sudo tail -n 1 /var/log/sudo.log - 正常应看到类似:
sep 17 01:12:34 server01 sudo: alice : TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/bin/ls /tmp











