Como permitir a execução sem solicitar senha usando o sudo?

11

Estou escrevendo um aplicativo Java no qual preciso executar uma linha de comando e recuperar o resultado, mas quando executo o comando, ele solicita a senha sudo. Até agora eu tentei:

$ sudo -s
$ vim /etc/sudoers
# User privilege specification
root         ALL=(ALL:ALL) NOPASSWD: ALL
javauser     ALL=(ALL:ALL) NOPASSWD: ALL

:wq
$ 4 -r--r-----   1 root root     615 2011-10-26 09:23 sudoers

Uma vez que eu executo o comando, ele pergunta novamente "senha [javauser] para javauser:". Mas eu já mencionei noPASSWD.

whoami retorna alex e estou adicionando isso como no arquivo sudoers

# User privilege specification
root    ALL=(ALL:ALL) ALL
alex ALL=NOPASSWD: ALL


# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

A corrida continua me pedindo minha senha, alguma ideia?

    
por YumYumYum 26.10.2011 / 09:45

1 resposta

22

Você precisa fazer o seguinte, no tipo de terminal sudo visudo e adicionar uma linha como essa no final do arquivo, especificando os comandos que deseja executar sem digitar a senha sudo (sugiro que você use cada comando que desejar para usar no programa e não apenas permitir que todos os programas sejam executados por isso)

<yourusername> ALL=NOPASSWD: <command1>, <command2>

Agora você pode executar os comandos especificados sem senha, contanto que você digite esse comando com sudo .

ie: digamos que você queira executar shutdown -r now sem ter que digitar a senha sudo toda vez e seu nome de usuário é 'joedoe'

  1. digite sudo visudo em um terminal

  2. Adicione joedoe ALL=NOPASSWD: /usr/sbin/shutdown -r now como uma nova linha ao final do arquivo , use caminhos absolutos para o programa que você está tentando usar.

  3. em seu programa, você pode usar sudo shutdown -r now sem precisar digitar a senha sudo.

Você pode encontrar o caminho absoluto para um programa usando which <program name> em um terminal.

É um truque muito sujo deixa seu sistema aberto para outros perigos, mas eu estou supondo que você sabe o que está fazendo e quer isso.

  

Editar

Você realmente precisa ter certeza de que as permissões que você está definindo estão no final do arquivo para que nada seja sobrescrito pelas permissões do grupo.

    
por Bruno Pereira 26.10.2011 / 09:57