Tentando executar “service nginx restart” de um usuário não root

0

Sou muito novo no mundo da implantação, mas é isso que está acontecendo. Eu tenho um novo droplet Ubuntu (Ubuntu 16.04.4 LTS) da DigitalOcean. Eu instalei e configurei o nginx e tudo está funcionando bem. Eu ligo e desligo com: service nginx start / service nginx stop , mas eu preciso fazer isso com um usuário diferente chamado pepito .

Quando tento executar service nginx start com pepito , obtenho:

~# service nginx restart
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'nginx.service'.
Authenticating as: pepito
Password: 

Mas eu vou estar executando isso de Capistrano, então eu não quero ser solicitado a digitar a senha, então eu adicionei isso ao visudo assim:

pepito ALL=(ALL) NOPASSWD: /usr/sbin/service nginx*

Tentei novamente e mesmo problema. Continue pesquisando e lendo e descubra que ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units === é uma mensagem de Polkit , então li um pouco sobre isso e criei o seguinte arquivo em: /etc/polkit-1/localauthority/50-local.d/nginx.pkla

Identity=unix-user:pepito
Action=org.freedesktop.systemd1.manage-units
ResultInactive=yes
ResultActive=yes

Claro que não funciona quando tento iniciar e parar o nginx em pepito . Eu não sei mais o que tentar!

    
por Andres 08.03.2018 / 12:29

1 resposta

2

Com o comando visudo você editou o arquivo /etc/sudoers , que só se aplica se você prefixar seus comandos com sudo , no seu caso sudo service nginx start .

    
por 08.03.2018 / 12:52