usando um comando sudo sem uma senha para um determinado aplicativo

0

Estou usando um script python para executar o docker, mas o docker requer comandos sudo para executar e é uma prática ruim armazenar a senha sudo no arquivo ou fornecer todos os direitos sudo do script python. Eu vi um método no qual você permitir que o sistema execute certos comandos sem digitar uma senha, tentei, mas Eu não consigo entender, eu entrei erroneamente (eu acho) Eu até corrompi meu arquivo sudoers uma vez e consertei.

Então, alguém pode explicar essa linha para mim e por que não está funcionando?

username ALL = (root) NOPASSWD: /usr/bin/docker
    
por Newbie 23.06.2015 / 13:24

2 respostas

2

Para evitar corromper o arquivo /etc/sudoers , sempre use o comando visudo . Se você não gostar do editor padrão, defina a variável de ambiente EDITOR para a desejada.

Coloque sua linha especificação do usuário como a última linha no arquivo sudoers .

Atualizar :

Por favor, veja: Adicionar NOPASSWD em / etc / sudoers não funciona

    
por arpadszasz 23.06.2015 / 13:42
1

Execute o comando:

sudo visudo

Agora vá para a entrada de% sudo

 %sudo   ALL=(ALL:ALL) ALL

e substitua por:

 %sudo   ALL=(ALL) NOPASSWD:/usr/bin/docker

isso afetará todos os usuários do sudo. Se você quer apenas fazer essa opção para um usuário específico "deve ter permissões sudo":

user ALL=(ALL) NOPASSWD:/usr/bin/docker

Agora salve e saia.

Para ter certeza de que tudo está correto, execute o comando:

sudo docker

Ele deve ser executado sem solicitar a senha do usuário.

Dica: Certifique-se de que seu usuário tenha permissões sudo e certifique-se de que o caminho do comando esteja correto. você pode verificar usando which docker

    
por Maythux 23.06.2015 / 14:39