como executar o comando sudo em um script Bash

2

Eu só preciso reiniciar o serviço do tor na inicialização. O script é simples assim:

#!/bin/bash

sudo service tor restart

Mas quero executá-lo sem levar minha senha a cada inicialização.

Eu segui esses posts: link

e eu mudei meu arquivo sudoers com isso:

username ALL=(ALL) NOPASSWD: /path/to/script

Mas enquanto eu tento executá-lo no terminal, o script sempre me pede senha. Eu também tentei as respostas dos outros neste post, mas como esse post como nenhuma validação eu não encontrei uma solução. Se alguém tem uma solução?

    
por Gy0m 15.03.2018 / 18:59

1 resposta

2

A linha

username ALL=(ALL) NOPASSWD: /path/to/script

concede a username o direito de executar o script com sudo , como em

$ sudo /path/to/script

Se você quiser que o usuário possa reiniciar tor especificamente, com sudo no script, use

username ALL=(ALL) NOPASSWD: /usr/sbin/service tor restart

Agora, o script pode fazer

sudo /usr/sbin/service tor restart

Observe que esse comando deve corresponder exatamente à configuração sudo .

    
por 15.03.2018 / 19:03