Problema ao executar um bash com privilégios sudo

0

Eu escrevi um script que me pede em dmenu as unidades disponíveis para montar ou desmontar e adicionei ao com visudo a seguinte linha

ALL ALL = NOPASSWD: /path/to/usb-mount

e o script basicamente toma decisões, e executa uma dessas duas linhas

sudo mount $drive $target
sudo umount $drive

e eu tenho uma ligação de chave que executa o comando como

sudo /path/to/usb-mount

e bem, ele roda, ele não monta a unidade, mas se eu executar o script no terminal, com sudo , executa o script e monta.

Alguma ideia do que preciso fazer?

Supostamente (no meu entender) Se eu executar sudo , todas as ações subseqüentes terão sudo privileges.

    
por ekiim 12.10.2018 / 05:25

1 resposta

3

Leia as mensagens registradas em sudo , geralmente gravadas em /var/log/secure ou /var/log/auth.log (dependendo da distribuição) para ver o que está acontecendo.

Algumas distribuições ativam a configuração requiretty em seu arquivo sudoers padrão ou a têm como um padrão compilado em sudo . Isso adiciona uma etapa extra ao uso de sudo em um contexto não interativo (ou seja, onde não é possível solicitar senhas nem enviar mensagens ao usuário). Execute sudo -l como sua conta de usuário comum: a saída informará se a configuração requiretty está em vigor para você.

Para remover essa restrição da sua conta de usuário, se o seu nome de usuário for, por exemplo, ekiim , você pode adicionar

Defaults:ekiim !requiretty

para o arquivo sudoers após qualquer linha Defaults existente.

    
por 12.10.2018 / 07:43

Tags