当我像根用户一样运行service httpd status
时,我得到httpd (pid 2932) is running...
这与预期的一样。
现在,当我su nrpe
运行相同的命令时,我得到service httpd status
。
我对Linux还不太熟悉,但对我来说,这闻起来好像httpd dead but subsys locked
没有运行这个命令的权限,所以它提供了提到的输出。
如何向nrpe授予sudo权限,以便它可以以root身份运行chis cmd?
我有一个nagios插件,可以检查httpd的状态,它给出的nrpe
不是我需要的。
谢谢
最佳答案
您应该可以通过键入visudo作为根用户来编辑sudo文件。
为了允许NRPE用户在不需要密码的情况下运行服务,如果存在的话,首先需要注释下列行:
#Defaults targetpw
#ALL ALL=(ALL) ALL
然后添加以下行:
nrpe ALL=NOPASSWD: /usr/sbin/service
现在nrpe用户应该可以运行“sudo service httpd status”,而无需输入密码。
不过,您应该注意,这会让nrpe用户控制每个服务。如果您使用的是Apache,则可能需要尝试以下方法:
nrpe ALL=NOPASSWD: /usr/sbin/apache2ctl
关于linux - 授予sudo权限以使nrpe以root身份运行检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31204088/