授予 nrpe 的 sudo 权限以 运行 作为 root 检查

Grant sudo permissions for nrpe to run the check as root

当我 运行 service httpd status 喜欢 root 用户时,我得到 httpd (pid 2932) is running... 就像预期的那样。

现在,当我 su nrpe 和 运行 使用相同的 cmd service httpd status 我得到 httpd dead but subsys locked

我是 Linux 世界的新手,但对我来说这闻起来像 nrpe 没有 运行 这个 cmd 的权限所以它给出了提到的输出。

如何向 nrpe 授予 sudo 权限,以便它可以 运行 以 root 身份执行命令?

我有一个检查 httpd 状态的 nagios 插件,它给出了 httpd dead but subsys locked 这不是我需要的。

谢谢

您应该能够通过以 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