sudo ainda pede senha quando o NOPASSWD é usado

4

Eu li todas as postagens do sudo no serverfault, mas ainda não consigo entender o que estou fazendo de errado. Normalmente eu finalmente encontro a solução, mas não desta vez:

Eu quero que o usuário do apache seja capaz de executar este comando como usuário "hremotessh":

sudo /home/hremotessh/scripts/redirect.sh 8892 8893

Por isso, adicionei isso em visudo:

apache ALL=(hremotessh) NOPASSWD: /home/hremotessh/scripts/redirect.sh

Mas o sudo ainda está pedindo a senha?

sudo /home/hremotessh/scripts/redirect.sh
[sudo] password for apache:

Eu tentei isso, mas não melhor:

sudo -u hremotessh /home/hremotessh/scripts/redirect.sh
hremotessh is not in the sudoers file.  This incident will be reported.

Qualquer ideia seria muito bem vinda: -)

Denis

    
por db_ch 21.07.2014 / 12:55

2 respostas

5

A menos que você queira executar o comando como root, é necessário especificar o nome de usuário, então

 su - apache -s /bin/bash 
 sudo -u hremotessh /home/hremotessh/scripts/redirect.sh 8892 8893

é a sintaxe correta para testar o comando sudo.

Como você não é solicitado a digitar a senha do usuário do apache, o sudo parece estar configurado corretamente.

O aviso resultante: hremotessh is not in the sudoers file. indica que outro comando sudo é usado no script redirect.sh. E não existe uma política sudo (válida) para esse usuário.

    
por 21.07.2014 / 13:50
-1

Eu tive um problema semelhante ao tentar executar um código python3 como sudo de um script e não inserir senha do script. A solução foi editar o visudo para que o python3 rodasse como sudo sem solicitar a senha, NÃO rodasse o script python3 como sudo. Então eu acredito que você precisa executar o apache como sudo sem solicitar senha, NÃO executando o script .sh como sudo sem senha.

    
por 19.11.2018 / 07:25