Basta iniciar seu comando com sudo
rights:
sudo your_python_script
E NUNCA use sua senha em um parâmetro.
Eu criei um aplicativo python na minha máquina Ubuntu que executa comandos no terminal. Eu gostaria quando o programa começar a continuar rodando como root. Eu sei que para obter um terminal raiz usamos o seguinte comando:
sudo -i
em seguida, o shell nos pede para digitar o nosso passe e quando fazemos isso, temos raiz para essa estação terminal até que digitemos
exit
Mas posso definir o parâmetro pass através de um argumento? Então o terminal não irá solicitar uma linha 'give a pass'?
Outra questão é quando eu uso um live usb e eu quero correr sudo -i
para obter privilégios de root eu preciso digitar um passe ou não?
Basta iniciar seu comando com sudo
rights:
sudo your_python_script
E NUNCA use sua senha em um parâmetro.
Em primeiro lugar, não sei se a lógica está correta com a minha opção, mas certamente funciona.
Primeiro, você cria uma chave rsa pub
usando o comando:
ssh-keygen -t rsa
Em seguida, copie e anexe a chave do pub a .ssh/authorized_keys
de root
usando o comando:
ssh-copy-id root@<your ip>
Depois disso, quando você tentar ssh root@<your ip>
, ele não solicitará a senha do root e você poderá obter o prompt root.
Por exemplo, se você deseja executar um script de shell, run.sh
in /opt
directory como root, a partir do seu login sem solicitar senha, tente isto:
ssh -X root@<your ip> "sh /opt/run.sh"
opção '- X' é usada para definir $DISPLAY
para raiz.
Espero que essa ideia ajude.