Hello,
After some difficulties my samba pdc users can
change there smbpasswd and unix nis password in one go.
(They just use the ctrl-alt-del change
passwd.)
My setup:
A samba pdc running on host x (sunos) (Serving 3
TB, 500 users)
A YP NIS password server running on host y
(sunos)
The lines in smb.conf for this:
...
passwd program = /samba/tools/changepasswd.exp %u passwd chat = *new* %n\n *OK* *OK* ... The needed changepasswd.exp script:
---
#!/app/expect/bin/expect -f
set ypserver "toor@<change to fit
your system>"
set ssh "/usr/local/bin/ssh" set passwd "/usr/bin/passwd" # Don't change below
set force_conservative 1 ;# set to 1 to force
conservative mode even
if
;# script wasn't run conservatively originally if {$force_conservative} { set send_slow {1 .1} proc send {ignore arg} { sleep .1 exp_send -s -- $arg } } set timeout -1
set username [lindex $argv 0] send_user "new" system stty echo expect_user -re "(.*)\n" set password $expect_out(1,string) send_user "OK\n" log_user 0 spawn $ssh $ypserver expect "<change to fit your system> :" send -- "passwd $username\r" expect -exact "passwd $username\r New password: " send -- "$password\r" expect -exact "\r Re-enter new password: " send -- "$password\r" expect -exact "\r NIS passwd/attributes changed on <change to fit your system>\r" expect "<change to fit your system> :" send -- "exit\r" log_user 1 send_user "OK\n" log_user 0 expect eof --- Requirements:
1 root user account without too much stuff
during the login
1 install of expect ( http://expect.nist.gov/ )
1 install of tcl ( http://www.tcl.tk/ )
1 install of ssh or any other remote shell
thingy
Goodluck,
***************************************************
Leroy R. van Logchem IT Specialist / UNIX Admin, AUT *************************************************** |