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