这几天在为nagios写一些自定义的插件,发现有些命令用nagios用户执行时权限不够。干脆把用户nagios添加进sudo组(即编辑文件/etc/sudoers),发现还要输入密码。在网上找了些文章,发现是可以不输入密码的。具体方法如下:
首先,在文件/etc/sudoers中,找到以下行:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
将用户添加进sudo组的方法是:在这一行后面添加以下一句:
nagios ALL=(ALL) ALL:ALL
如果需要用户nagios使用sudo命令时不输入密码,则是输入以下一句:
nagios ALL=(ALL) NOPASSWD:ALL
就这么简单,大家可以尝试一下。其实在/etc/sudoers文件中已经有提示了,只是平时没有注意看。所以以后多看看文件里头的注释还是很有用的。
还有一点,sudo命令默认是不能在后台运行的,如果需要在后台运行(比如nagios的被监控服务器端),就需要将/etc/sudoers文件中以下一行注释掉。
Defaults requiretty