Passando Strings para / bin / login

2

Estou no processo de criar um wrapper de login para / bin / login para que, quando você inicializar o Linux, você obtenha um Login da TUI em vez do login sem problemas no console do tty. Este será apenas um script bash para este wrapper, no entanto estou querendo saber como / if pode passar o nome de usuário e senha do usuário para / bin / login em uma ou duas linhas.

Todo isso eu acho que você poderia fazer

echo "username/npassword" | login

Mas não funcionou. Pelo menos é o que estou recebendo no meu terminal. Eu considerei exceto shell, mas desova sob o usuário. Alguém pode me redirecionar na direção certa?

    
por Mudkip 26.06.2015 / 21:21

1 resposta

0

Você pode usar esperar para automatizar o processo, altenatively, você poderia escrever nome de usuário e senha como variáveis, e chamá-los em seu script. Você também pode lê-los a partir da entrada do usuário. Acho que a maneira mais simples seria usar o epect, que pode facilmente lidar com coisas como o dealys e pisar processos interativos.

um script de login de exemplo com expectativa poderia ser assim:

#!/usr/bin/expect
#./script user passwd
spawn login  [lindex $argv 0]
set passID [lindex $argv 1]
expect "Password:"
send "$passID\r"
spawn echo "lol\r\r"
expect eof

Existem muitas maneiras de fazer essa tarefa, o que você escolher, eu evitaria salvar a senha dentro do script, se possível.

    
por j0h 07.08.2015 / 04:28