1

Nagios на моем сервере не работает должным образом. Он не может выполнить команду lftp без "sudo". Есть ли способ, как разрешить nagios запускать команды без использования "sudo"?

Мой /etc/group: nagios:x:107:www-data,nagios

Скрипт с использованием lftp: -rwxr-xr-x 1 root nagios 3667 říj 20 12:20 check_ftp_fully

/usr/bin/lftp: -rwxr-xr-x 1 root root 924936 srp 7 2013 lftp

Кстати, я попробовал этот ответ безуспешно. Все еще не работает.

РЕДАКТИРОВАТЬ: сценарий вызывается Nagios как $USER5$/check_ftp_fully.sh <username> <password> <port> . Сценарий проверки здесь . Сбой при перечислении каталога (FTP check failed when trying to list the contents of a directory.)

РЕДАКТИРОВАТЬ 2: Проблема Nagios не так важна, как знание ЕСЛИ и КАК я могу запускать команды без "sudo". Например, mkdir в /etc

2 ответа2

2

Сценарий называется Nagios как ./check_ftp_fully.sh

./ здесь предполагает, что вы запускаете скрипт из каталога, в котором он находится. Я предполагаю, что у вас нет прав на запись в этот каталог (как на самом деле вы не должны). Измените вызывающий сценарий, чтобы он выполнялся в вашем домашнем каталоге (или, скажем, /tmp) с полным путем к сценарию check_ftp_fully.sh . Еще лучше, или даже дополнительно, измените тестовый скрипт так, чтобы он создавал временный каталог и удалял его, когда это сделано (даже в случае, например, синтаксической ошибки; см. trap)

1

может быть несколько решений

  1. либо включите nagios в файле sudoers для запуска sudo без подтверждения пароля, либо из check_ftp_ful запустите 'sudo lftp'

  2. setuid на lftp

и то, и другое может быть нарушением безопасности, это зависит от вас, какие двери вы хотите открыть :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .