【发布时间】:2013-01-11 11:21:08
【问题描述】:
对于服务器监控,我们每分钟使用无密码sudo 执行几个命令。这会填满服务器日志。
sudo: zabbix : TTY=unknown ;密码=/ ;用户=根;命令=/foo/bar
我可以阻止这些条目吗? NOLOG_INPUT 和 NOLOG_OUTPUT 选项看起来不像我想要的。
我不想完全忽略sudo 的日志记录,只针对一个用户和一个(或多个)命令。
有没有办法做到这一点?
【问题讨论】:
对于服务器监控,我们每分钟使用无密码sudo 执行几个命令。这会填满服务器日志。
sudo: zabbix : TTY=unknown ;密码=/ ;用户=根;命令=/foo/bar
我可以阻止这些条目吗? NOLOG_INPUT 和 NOLOG_OUTPUT 选项看起来不像我想要的。
我不想完全忽略sudo 的日志记录,只针对一个用户和一个(或多个)命令。
有没有办法做到这一点?
【问题讨论】:
您可以使用Defaults: 指令禁用基于用户的日志记录
示例(禁用用户 bla 的日志记录)
Defaults:bla !syslog
或使用Cmnd_Alias 来根据命令禁用它
Cmnd_Alias SCRIPT = /usr/local/bin/myscript
Defaults!SCRIPT !syslog
# multiple commands need a comma between them
Cmnd_Alias MORE = /bin/ls, /bin/cat
Defaults!MORE !syslog
在 Debian 6.0.6 上使用 sudo 版本 1.7.4p4 测试(相当旧;))
【讨论】:
!syslog 替换为 !log_allowed 以停止仅记录成功尝试,仍然记录被拒绝的尝试。