从 nagios 启动 lig​​httpd 会导致 lighttpd 损坏

从 nagios 启动 lig​​httpd 会导致 lighttpd 损坏

我正在使用 Debian 7.8(wheezy)和 lighttpd 1.4.31 与 nagios 3.4.1。

当我正常启动 lig​​httpd (以 root 身份) 时,一切都按预期工作:

/etc/init.d/lighttpd start

但是,当 nagios 启动 lig​​httpd 时,一切都会发出 404 错误,并且不会将任何内容记录到/var/log/lighttpd/access.log/var/log/lighttpd/error.log。我可以通过以 root 身份发出以下命令来手动模拟相同的行为:

su - nagios -s /usr/bin/sudo /etc/init.d/lighttpd start

nagios 守护进程具有 sudo 访问权限,定义如下/etc/sudoers.d/nagios

nagios ALL=(root) NOPASSWD: /etc/init.d/lighttpd *

我遗漏了什么?直接以 root 身份启动 lig​​httpd 与通过 sudo 以 nagios 用户身份启动 lig​​httpd 有什么区别?

答案1

nagios 在启动 lig​​httpd 时是否实际上使用 sudo ?

那么,它是运行“sudo /etc/init.d/lighttpd start”,还是运行“/etc/init.d/lighttpd start”。

当不从 sudo 运行时...它将不会以 root 身份运行,因此将不起作用。

如果有疑问...编辑 /etc/init.d/lighttpd 脚本,并让它在开始时打印其用户,例如:

id > /tmp/ligghtpd.start.$$

然后检查 /tmp/ligghtpd.start.* 文件。

相关内容