当我像root用户一样运行service httpd status
时,我得到的httpd (pid 2932) is running...
就像预期的那样。
现在,当我su nrpe
并运行相同的cmd service httpd status
时,我得到httpd dead but subsys locked
。
我对Linux世界有点陌生,但对我而言,nrpe
这样的气味没有运行此cmd的权限,因此它提供了所提及的输出。
如何为nrpe授予sudo权限,以便它可以以root身份运行chis cmd?
我有一个检查httpd状态的nagios插件,它提供的httpd dead but subsys locked
不是我需要的。
由于
答案 0 :(得分:1)
您应该能够通过以root用户身份键入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