O usuário que o Nagios executa exige direitos sudo
, exatamente como em sua conta normal. Você pode usar um comando como este para ver o que tem sudo
de um usuário:
$ su - nagios -c "sudo -l"
Matching Defaults entries for nagios on this host:
requiretty, !visiblepw, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS MAIL PS1 PS2 QTDIR USERNAME LANG
LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME
LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", !requiretty
User nagios may run the following commands on this host:
(root) NOPASSWD: /etc/init.d/nagios* restart
(root) NOPASSWD: /etc/init.d/nagios restart
(root) NOPASSWD: /etc/init.d/nagios* reload
(root) NOPASSWD: /etc/init.d/nagios reload
(root) NOPASSWD: /usr/bin/nagios* -v *
(root) NOPASSWD: /usr/bin/nagios -v *
(root) NOPASSWD: /usr/bin/nagios* -s *
(root) NOPASSWD: /usr/bin/nagios -s *
(root) NOPASSWD: /etc/init.d/snmptrapd restart
(root) NOPASSWD: /etc/init.d/centstorage restart
(root) NOPASSWD: /etc/init.d/centstorage stop
(root) NOPASSWD: /etc/init.d/centstorage start
Supondo que o Nagios tenha sudo
de direitos para executar o seu comando volts, vcgencmd measure_volts
, você também desejará ter certeza de que os direitos sudo são semelhantes aos acima, onde o Nagios pode executar o comando como root
e que nenhuma senha é exigida ( NOPASSWD
). Algo parecido com isto no seu arquivo /etc/sudoers
deve fazer:
nagios ALL = NOPASSWD: /path/to/vcgencmd measure_volts core