当我像根用户一样运行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/

10-13 05:17