Você pode usar expect
para fazer esse trabalho para você. Salve o seguinte em um arquivo, torne-o executável e execute-o:
#!/usr/bin/expect
spawn su
expect "Password:"
send "YOUR_PASS\n"
interact
(Obviamente, você precisa especificar o caminho correto para expect
. Aqui eu usei /usr/bin/expect
como exemplo.)
Se YOUR_PASS
é a senha de root correta, agora você deve ter um shell de root. Caso contrário, você receberá uma falha de autenticação.
Observe que o comando interact
provavelmente não será necessário no contexto de um script totalmente automatizado, pois ele dá o controle do processo ao usuário, ou seja, os pressionamentos de tecla são enviados ao processo atual e stderr e stderr são retornados .
Consulte man expect
para obter uma descrição mais detalhada dos comandos spawn
, expect
, send
e interact
e muitos outros comandos.
Espero que isso ajude. :)