Я использую (хрипящий) Debian 7.8, и lighttpd 1.4.31 с nagios 3.4.1.
когда я обычно запускаю lighttpd (как корень), все работает как ожидалось:
/etc/init.d/lighttpd start
Однако, когда nagios запускает lighttpd, все выпускает 404 ошибки, и ничто не зарегистрировано к /var/log/lighttpd/access.log
или /var/log/lighttpd/error.log
. Я могу подражать тому же поведению вручную путем выдачи следующей команды как корня:
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 *
Что я пропускаю? Каково различие между запуском lighttpd непосредственно как корень и выполнением его как nagios пользователь через sudo?
Использует ли nagios _actually_use_ sudo при запуске lighttpd?
Итак, запускается ли он 'sudo /etc/init.d/lighttpd start' или '/ etc / init. d / lighttpd start '.
Если вы не запускаете sudo ... он не запускается от имени root, и поэтому не будет работать.
Если есть сомнения ... отредактируйте /etc/init.d/ lighttpd, и пусть он вначале напечатает его пользователя с чем-то вроде:
id> /tmp/ligghtpd.start.$$
, а затем проверьте файлы /tmp/ligghtpd.start.*.