Como usar sudoers para o script do python

0

Eu tinha um script (script nomeado) no bash, e queria permitir que um usuário (chamado "userScript") o executasse como root sem fornecer nenhuma senha.

Então editei o arquivo / etc / sudoers e adicionei 2 linhas no final:

Cmnd_Alias SCRIPT=/home/userScript/Desktop/script

userScript ALL:NOPASSWD: SCRIPT

(O script na área de trabalho é um link simbólico para evitar qualquer modificação)

Funcionou perfeitamente bem. Depois de alguns dias, meu script era muito grande, então eu reescrevi em python, com múltiplos arquivos, classes ...

Então, eu mudei nada, exceto o destino do link simbólico, mas agora, quando eu tento rodar o script, o terminal pede uma senha, e me dá um erro (desculpe se não é exatamente a mensagem boa, meu Ubuntu não é t em inglês)

Sorry, user userScript isn't allowed to execute "/usr/bin/python script" as root on name_of_my_computer

Eu corro o script assim como usuário "userScript":

sudo python script
    
por julien2313 04.11.2016 / 16:13

1 resposta

2

Seu problema aqui é que o comando que você tenta executar com sudo é python ; o script é o primeiro argumento para python . Em vez disso, seu script deve ter permissões executáveis e você deve executá-lo como sudo script_name .

Em segundo lugar, quando você faz python script_name , ele não procura necessariamente pelo seu script, onde quer que esteja armazenado. Você teria que fornecer o caminho completo ou, mais uma vez, ter o próprio script em um dos diretórios listados na variável PATH .

    
por Sergiy Kolodyazhnyy 04.11.2016 / 19:17