Script Bash com a caixa de diálogo (X) solicitando senha de root (substituto do kdesu)

1

Estou usando o diálogo (X) para um script que um normal executa, mas precisa de privilégios de root para alguns comandos. O script é executado a partir de um arquivo .desktop, assim o usuário não vê nenhum terminal. Por exemplo aqui

#!/bin/bash
Xdialog --msgbox "Welcome" 0 0
touch /root/testfile
Xdialog --msgbox "All OK" 0 0

o comando touch não é executado. Uma solução seria usar kdesu

kdesu touch /root/testfile

mas esta abordagem tem dois problemas: o usuário tem que fornecer a senha para cada comando e a janela do kdesu não segue o mesmo tema que o resto das janelas.

Note que eu quero que o usuário forneça a senha de root e não seja um sudoer.

Encontrei um script semelhante aqui , mas não posso aplicá-lo no meu script, pois o comando real não pode ser aceito a senha como o sshpass faz.

    
por Theo 22.08.2015 / 00:47

1 resposta

0

Uma maneira de fazer isso seria apenas executar su no início do script. O usuário insere a senha raiz apenas uma vez no início do script. Você pode então executar comandos sem privilégios de root fazendo su [username] -c [your command not to be executed with root privileges] .

No entanto, você não pode usar caixas de diálogo para solicitar a senha aqui.

    
por 16.09.2015 / 10:57