59 lines
888 B
Plaintext
59 lines
888 B
Plaintext
#
|
|
# The following expect script enables the password change over kerberos
|
|
# kpasswd.
|
|
#
|
|
# Dilyan Palauzov <didopalauzov@aegee.org>, 2005
|
|
#
|
|
gets stdin user
|
|
gets stdin oldpw
|
|
gets stdin newpw
|
|
set log [lindex $argv 1]
|
|
set err [open $log "w" "0600"]
|
|
set pid [spawn /usr/bin/kpasswd $user]
|
|
set timeout 1
|
|
expect {
|
|
"Password for *: "
|
|
{
|
|
send $oldpw\r
|
|
}
|
|
eof {
|
|
puts $err $expect_out(buffer)
|
|
close $err
|
|
exit 1
|
|
}
|
|
}
|
|
|
|
expect {
|
|
"Enter new password: "
|
|
{
|
|
send $newpw\r
|
|
}
|
|
eof {
|
|
puts $err $expect_out(buffer)
|
|
close $err
|
|
exit 1
|
|
}
|
|
}
|
|
expect {
|
|
eof {exit 1}
|
|
"Enter it again: "
|
|
{
|
|
send $newpw\r
|
|
}
|
|
}
|
|
expect {
|
|
eof {
|
|
puts $err $expect_out(buffer)
|
|
close $err
|
|
exit 1
|
|
}
|
|
"Password changed."
|
|
{
|
|
close $err
|
|
exit 0
|
|
}
|
|
}
|
|
|
|
close $err
|
|
exit 0
|