Edward Paul Wehrwein
2003-Nov-26 16:11 UTC
[Samba] samba passwd program not running as root on OpenBSD
This has been posted on misc@openbsd as well. Hi, I'm setting up samba, no PDC or anything else complex and having a lot of trouble with the passwd chat. It appears to be a bug? somewhere, but its not clear to me. Can anyone shed any light? See below for relevant info. Thanks running smbpasswd: /home/paul $ smbpasswd Old SMB password: New SMB password: Retype new SMB password: machine 127.0.0.1 rejected the password change: Error was : RAP86: The specified password is invalid. Failed to change password for paul relevant smb.conf lines: encrypt passwords = Yes min passwd length = 5 map to guest = Bad User null passwords = No pam password change = No passwd program = /usr/bin/passwd %u passwd chat = *New*password* %n\n *Retype*new*passwordn* %n\n passwd chat debug = Yes unix password sync = Yesin my samba logs:[2003/11/25 17:27:47, 10] /usr/obj/i386/samba-2.2.8a/samba-2.2.8a/source/smbd/chgpasswd.c:dochild(211) Invoking '/usr/bin/passwd paul' as password change program.[2003/11/25 17:27:47, 100] /usr/obj/i386/samba-2.2.8a/samba-2.2.8a/source/smbd/chgpasswd.c:expect(265) expect: expected [*New*password*] received [passwd: who are you ?? ] match no[2003/11/25 17:27:47, 100] /usr/obj/i386/samba-2.2.8a/samba-2.2.8a/source/smbd/chgpasswd.c:expect(265) expect: expected [*New*password*] received [] match no[2003/11/25 17:27:47, 10] /usr/obj/i386/samba-2.2.8a/samba-2.2.8a/source/smbd/chgpasswd.c:expect(276) expect: returning False[2003/11/25 17:27:47, 3] /usr/obj/i386/samba-2.2.8a/samba-2.2.8a/source/smbd/chgpasswd.c:talktochild( 302) Response 1 incorrect[2003/11/25 17:27:47, 3] /usr/obj/i386/samba-2.2.8a/samba-2.2.8a/source/smbd/chgpasswd.c:chat_with_pr ogram(363) Child failed to change password: paul[2003/11/25 17:27:47, 3] /usr/obj/i386/samba-2.2.8a/samba-2.2.8a/source/smbd/chgpasswd.c:chat_with_pr ogram(408) The status of the process exiting was 256 looking at passwd.c this appears to be the relevant section: username = getlogin(); if (username == NULL) { fprintf(stderr, "passwd: who are you ??\n"); exit(1); }