Eu preciso de sudo sem prompt de senha, para scripts. Onde foi que eu errei?

9

Estou bem no grupo sudo:

$ id
uid=1002(molot) gid=1002(molot) groups=1002(molot),27(sudo),33(www-data)

Em meus sudores, pareço ter uma configuração apropriada:

sudo    ALL=(ALL:ALL) NOPASSWD: ALL

e é a última linha não comentada.

Mas quando eu tento git pull , sou solicitado a digitar novamente minha senha:

$ sudo -u www-data git --git-dir /var/www/.git --work-tree /var/www pull "origin" master
[sudo] password for molot:

Não é um problema quando estou logado no console, mas é inaceitável em scripts. Então, como posso permitir que qualquer pessoa no grupo sudo use git pull como www-data sem redigitar a senha?

Quando coloco o meu nome diretamente:

molot ALL=(ALL) NOPASSWD: ALL

funciona para mim. Mas, obviamente, não para marian ou outros usuários do grupo sudo. Tanto quanto eu entendi manual , ambos os nomes de usuários e grupos devem funcionar no primeiro arquivo.

    
por Mołot 23.04.2014 / 13:30

2 respostas

19

Parece que você tem a linha relevante em seus sudoers sem um caractere:

sudo ALL=(ALL:ALL) NOPASSWD: ALL

corresponde a um usuário chamado 'sudo'. Para "todos os usuários no grupo sudo", deve ser:

%sudo ALL=(ALL:ALL) NOPASSWD: ALL

(observe o sinal% no começo).

    
por 23.04.2014 / 14:46
1

sudo visudo

Em seguida, assumindo que molot é seu nome de usuário, vá até o final do arquivo e:

molot ALL=(ALL) NOPASSWD: ALL

Isso deve funcionar, mas se isso não acontecer, mantenha-nos informados.

    
por 23.04.2014 / 14:13

Tags