“sudo: no tty present” para o plugin munin usando sudo sem senha

2

Estou escrevendo um plugin para munin para monitorar algo em nosso servidor Ubuntu Linux (que está no Amazon EC2). O plug-in requer a execução de um programa /usr/sbin/rabbitmqctl via sudo .

Eu tenho a seguinte linha em /etc/sudoers :

munin ALL = NOPASSWD: /usr/sbin/rabbitmqctl list_queues

Como você pode ver, o munin user (que é o usuário que executa o script) tem permissão para executar o comando /usr/sbin/rabbitmqctl list_queues via sudo sem uma senha. Confirmei que isso funciona por sudo -u munin -s e executá-lo.

No entanto, nos logs do munin ( /var/log/munin/munin-node.log ), recebo muita saída para o plug-in da seguinte forma:

2013/06/28-11:35:26 [28107]     sudo: no tty present and no askpass program specified

E não há dados no gráfico.

No final do meu arquivo /etc/sudoers , eu tenho isso, que é comumente sugerido como uma solução:

Defaults    !requiretty

No entanto, isso não resolve. A sugestão comum de "descomentar essa linha em / etc / sudoers" não funciona porque não há nada nesse arquivo.

Existe uma maneira de permitir que o meu plugin munin chame algo via sudo ?

Atualização №1 : O plugin munin é executado pelo nó munin no servidor, que é executado como usuário munin, não posso alterar todo o munin para executar tudo como root.

    
por Rory 28.06.2013 / 13:52

1 resposta

2

Esta não é uma resposta para a sua consulta específica, mas é uma solução para o seu problema específico.

Em vez de usar sudo , faça o que outros plugins da munin fizerem, sobrescreva o usuário que executa o plugin específico para ser root .

Mais informações aqui .

Você adiciona uma seção como essa,

[<plugin name>]
user <user>
group <group>

para munin-node no diretório plugin-conf.d (geralmente em /etc/munin ).

Vários dos plug-ins munin já são executados como root, por isso, se você estiver preparado para executar o munin, isso já é uma prática padrão.

    
por 28.06.2013 / 16:00