Я использую NRPE, и у меня довольно неприятная проблема. Мне нужна пара временных файлов, записанных в домашний каталог пользователя, под которым работает NRPE (nagios).
Я проверил, что запись / etc / passwd для Nagios правильно указывает на / home / nagios и что NRPE настроен на выполнение под пользователем Nagios. Служба надежно пытается записать в папку моего пользователя (при перезапуске службы с помощью sudo) или в / (при перезагрузке).
В официальной документации нет ничего по этому поводу. Как я могу это сделать?
РЕДАКТИРОВАТЬ - это только происходит из элементов, выполняемых через NRPE. Это не проблема с разрешениями.
Добавление небольшого скрипта, который устанавливает переменную HOME, а затем вызывает предполагаемый исполняемый файл, решает проблему, но это уродливое и немасштабируемое решение.
Похоже, это ошибка в используемой мной версии NRPE. В качестве обходного пути я при необходимости устанавливаю переменную HOME с помощью сценария оболочки.
Добавлялись ли недавно SELinux или аналогичная программа безопасности? Я легко мог видеть это отказом в доступе на запись для NRPE.
Похоже, проблема с разрешением, и вы можете попробовать sudo su - nagios
и touch ~/test
Как вы обнаружили, nagios / nrpe не имеет $ HOME при запуске скриптов. Фактически, у него вообще нет ENV.
Вам необходимо использовать полные пути во всех проверках / сценариях, запускаемых NRPE, или явно указать $ HOME в сценарии. (Или просто всегда используйте / tmp)
Ошибка все еще существует. Еще одно быстрое решение - поместить переменную перед определением команды в файле конфигурации nrpe.cfg:
command[check_something]=HOME=/home/user /home/user/script.sh