#!/usr/bin/expect 

set BASE "ou=People,dc=skole,dc=skolelinux,dc=no"
set URI "ldaps://ldap"
set NEWPASSWD [lindex $argv 0]

stty -echo

send_user "Master Password:\ "
expect_user -re "(.*)\n"

stty echo

# /usr/share/debian-edu-config/tools/passwd root
set NAME root
spawn ldappasswd -H $URI -x -s "$NEWPASSWD" -W -D cn=admin,$BASE uid=$NAME,$BASE
expect "Enter LDAP Password:" { send "$expect_out(1,string)\n" }
expect eof

# /usr/share/debian-edu-config/tools/passwd admin
set NAME admin
spawn ldappasswd -H $URI -x -s "$NEWPASSWD" -W -D cn=admin,$BASE cn=$NAME,$BASE
expect "Enter LDAP Password:" { send "$expect_out(1,string)\n" }
expect eof

# /usr/share/debian-edu-config/tools/passwd smbadmin
set NAME smbadmin
spawn ldappasswd -H $URI -x -s "$NEWPASSWD" -W -D cn=admin,$BASE cn=$NAME,$BASE
expect "Enter LDAP Password:" { send "$NEWPASSWD\n" }
expect eof

# smbpasswd -w PASSWORT-ALS-KLARTEXT
spawn smbpasswd -w "$NEWPASSWD"
expect eof

# smbpasswd -a root
spawn smbpasswd -a root
expect "New SMB password:"  { send "$expect_out(1,string)\n" }
expect "Retype new SMB password:" { send "$expect_out(1,string)\n" }
expect eof

# /usr/share/webmin/changepass.pl /etc/webmin root neuespasswort
spawn /usr/share/webmin/changepass.pl /etc/webmin root "$NEWPASSWD"
expect eof

