Информатика
Прочее
Вопрос
Как выполнять скрипты с правами sudo в Zabbix
Ответ
Если в Zabbix настраивается выполнение команды с правами sudo (например, это требуется при проверке правильности конфигов Nginx), необходимо дать пользователю zabbix права на выполнение этой команды с правами sudo без запроса пароля. Выполняем:
sudo visudo
и вносим правило (или дополняем существующее), указывая адреса необходимых скриптов (команд):
zabbix ALL=(ALL) NOPASSWD:/etc/zabbix/extscripts/nginx_syntax.sh,/etc/zabbix/extscripts/nginx_conftest.sh www-data ALL=NOPASSWD: /usr/bin/nmap zabbix ALL=NOPASSWD: /usr/bin/nmap
Однако этого не всегда достаточно, и даже с этими настройками Zabbix-агенту не удается выполнить удаленную
команду с правами sudo. В этом случае официальная документация Zabbix рекомендует нам отключить в
/etc/sudoers
опцию requiretty
, а также включить Defaults visiblepw
:
Defaults !requiretty Defaults visiblepw
Но если данные опции для вас критичны, можно изменить их только для пользователя zabbix:
Defaults requiretty Defaults:zabbix !requiretty Defaults !visiblepw Defaults:zabbix visiblepw