Como executar um script no Sudo e preencher automaticamente minha senha

0

Eu tenho o Bash for windows (subsistema linux) e estou no processo de criar alguns scripts do powershell (apenas por diversão) para aplicativos que eu executo no Linux, então posso apenas iniciá-los no meu desktop.

É tudo virtualizado e offline, então eu realmente não estou procurando uma palestra sobre segurança, pois eu já conheço os meandros disso, apenas procurando fazer isso funcionar como uma experiência de aprendizado divertida;)

Isso é o que eu meio que criei, mas há dois problemas:

1: Meu script não continuará depois da primeira linha (então o powershell vai cair no bash mas não executa os comandos subseqüentes).

2: Eu preciso preencher minha senha de root e só quero que ela pule isso ou preencha-a para mim, pois alguns aplicativos precisam de acesso root.

bash (powershell command to drop into the bash shell)
export DISPLAY=:0 (necessary for gui apps)
sudo (app name)
(app asks for password)
Password

Então, se eu executar esses comandos um por um, ele funcionará bem (veja a captura de tela anexada do gerenciador de pacotes synaptic e o powershell), mas agora eu estou apenas olhando para automatizar isso como uma preguiça preguiçosa: D

    
por Levi Hen 05.05.2017 / 16:45

1 resposta

1

A solução é dividida em duas partes.

Primeira parte: executar o script

O processo é simples. Você tem que passar todo o script como um argumento para bash.

bash -c 'export DISPLAY=:0 ; sudo <app_name>'

I do not use powershell. So escape relevant parts according to powershell syntax in the above line.

Segunda parte - Ignorando a senha

Para fazer isso, você precisa permitir o login sem senha no arquivo sudoers localizado em /etc/sudoers . Digite o snippet a seguir (substitua user pelo seu username ) no final de /etc/sudoers usando sudo nano /etc/sudoers .

user ALL=(ALL) NOPASSWD: ALL 

Isso, no entanto, mudará o comportamento padrão do sudo e o usuário não será solicitado a usar a senha quando usar sudo

    
por 05.05.2017 / 20:22