Expect Probem bei Script zum ändern des root pws

Antworten
Nachricht
Autor
jochen123
Beiträge: 23
Registriert: 21. Aug 2006 11:45

Expect Probem bei Script zum ändern des root pws

#1 Beitrag von jochen123 » 21. Aug 2006 11:53

Hallo,

ich habe ein Problem mit einem Expect-Script. Und zwar soll dieses das Passwort von root ändern. Es hängt sich aber nach der ersten Aufforderung zur eingabe des Passworts auf und bleibt stehen.

Hier das script:
########################################
#!/usr/bin/expect -f
#
set timeout -1
match_max 100000
# password
set password [lindex $argv 1]
# username
set user [lindex $argv 0]
# opem shell
spawn $env(SHELL)
# send passwd command
send -- "passwd $user\r"
expect "*?assword:*"
send -- "$password\r"
expect "*?assword:*"
send -- "$password\r"
send -- "\r"
expect eof
########################################

Ausgabe die dann kommt ( habe als pw test2 genommen)

root@2[~]# ./script root test2
spawn /bin/bash
passwd root
root@3[~]# passwd root
Enter new UNIX password: test2


Problem ist das er nach der ersten pw eingabe stehenbleibt, bzw. keine 2te aufforderung zur eingabe des Passworts kommt die expect dann abfangen würde.

Einer ne Idee oder sieht den Fehler?

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 21. Aug 2006 12:42

Wieso nimmst du \r (CR)? Müsste es nicht eher \n (LF) sein?

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Antworten