I am having problems setting up the smbpasswd command to sync the /etc/passwd and $SAMBAHOME/private/smbasswd files. My passwd program (/usr/bin/passwd %u) doesn't seem to want to wait around for smbpasswd to send it a second password for confirmation. I am running Solaris 2.5.1 (103640-23) on an Ultra 2300 and using Samba 1.9.18p10 compiled with gcc 2.8.1. I thought that I had this running previously on a lower patchlevel of Solaris, but I could be wrong... Details follow my lame sig. Any help is appreciated and I will summarize. ------------------------------------------ Rick Schieche Systems Admin Pierce County Washington ------------------------------------------ smbpasswd command output --- Old SMB password: New SMB password: Retype new SMB password: smbpasswd: machine 127.0.0.1 rejected the password change: Error was : The specified password is invalid. --- $SAMBAHOME/lib/smb.conf (relevant) entries --- security = user encrypt passwords = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *New*password: %n\n *Re-enter*new*password: %n\n passwd chat debug = True --- $SAMBAHOME/var/log.<machinename> --- Password change for user: goober Dochild for user goober (uid=0,gid=0) talktochild: chatbuf=[*New*password:] responsebuf=[New password:] talktochild: sendbuf=[foo123 ] talktochild: chatbuf=[*Re-enter*new*password:] responsebuf=[ Re-enter new password:] talktochild: sendbuf=[foo123 ] The process exited while we were waiting --- Truss output of the running smbd --- # truss -aep 8595 psargs: /opt/samba/bin/smbd -D -d 100 poll(0xEFFFC648, 1, -1) (sleeping...) poll(0xEFFFC648, 1, -1) = 1 getmsg(7, 0xEFFFE600, 0xEFFFE5F4, 0xEFFFE60C) = 0 sigprocmask(SIG_BLOCK, 0xEFFFE3B8, 0xEFFFE4B0) = 0 open("/dev/tcp", O_RDWR) = 8 ioctl(8, I_PUSH, "sockmod") = 0 ioctl(8, I_STR, 0xEFFFE300) = 0 ioctl(8, I_SETCLTIME, 0xEFFFE3B4) = 0 ioctl(8, I_SWROPT, 0x00000002) = 0 sigprocmask(SIG_SETMASK, 0xEFFFE3A4, 0xEFFFE394) = 0 ioctl(8, I_STR, 0xEFFFE218) = 0 sigprocmask(SIG_SETMASK, 0xEFFFE394, 0xEFFFE370) = 0 ioctl(7, I_FDINSERT, 0xEFFFE45C) = 0 getmsg(7, 0xEFFFE600, 0x00000000, 0xEFFFE3C4) = 0 sigprocmask(SIG_SETMASK, 0xEFFFE4B0, 0x00000000) = 0 fork() = 8611 close(8) = 0 Received signal #18, SIGCLD, in poll() [caught] siginfo: SIGCLD CLD_EXITED pid=8611 status=0x0000 poll(0xEFFFC648, 1, -1) Err#4 EINTR sigprocmask(SIG_BLOCK, 0xEFFFC1D8, 0x00000000) = 0 write(3, " g o t S I G C L D\n", 11) = 11 getuid() = 0 [0] fstat(3, 0xEFFFC0F0) = 0 waitid(P_ALL, 0, 0xEFFFC108, WEXITED|WTRAPPED|WNOHANG) = 0 waitid(P_ALL, 0, 0xEFFFC108, WEXITED|WTRAPPED|WNOHANG) Err#10 ECHILD sigaction(SIGCLD, 0xEFFFC0B8, 0xEFFFC1B8) = 0 waitid(P_ALL, 0, 0xEFFFC138, WEXITED|WNOHANG|WNOWAIT) Err#10 ECHILD sigprocmask(SIG_UNBLOCK, 0xEFFFC1D8, 0x00000000) = 0 setcontext(0xEFFFC328) poll(0xEFFFC648, 1, -1) (sleeping...) --- Samba compile options --- FLAGSM = -DSUNOS5 -DSHADOW_PWD -DFAST_SHARE_MODES -DUFC_CRYPT -DALLOW_CHANGE_PASSWORD LIBSM = -lsocket -lnsl AWK = nawk ---