Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem su - automaticke zadanie hesla

Myšlenka je to správná. su opravdu vyžaduje terminál. Naštěstí existuje program expect, který mu terminál umí poskytnout. Skript pro expect by mohl vypadat treba takto:

#!/usr/bin/expect -f
set username [lindex $argv 0]
set pass [lindex $argv 1]

spawn su "$username"
sleep 1
expect "Password: "
send "$pass\r"
expect {
"*Authentication failure" {exit 1}
"*# " {puts "OK! Password is $pass\n"; exit 0}
}

Pojmenuj ho třeba "autosu" a volej ho se dvěma parametry: jménem uživatele a heslem:
./autosu root pokus_o_heslo
Návratový kód skriptu je 0 v případě úspěchu, jinak 1.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny