Hans Mayer
2007-Dec-03 16:41 UTC
[Samba] version 3.0.27a unix passwd sync nor working any more
dear samba-gurus our environment: solaris 9 - samba 3.0.27a after debugging a lot of hours we have to notice, that password change does not work in version 3.0.27a any more on solaris boxes. same smb.config on 3.0.24 and 3.0.27a, but unix password sync ist not working with 27a with 3.0.27 we get an error: You do not have permissions to change your password. removing the relevant lines for unix-sync in smb.conf the windows passwd change is successfully: passwd program = /uni/bin/ldapsync.pl -o %u passwd chat = New %n\n new %n\n *changed* \n passwd chat timeout = 20 passwd chat debug = Yes unix password sync = yes using the lines above, debug show following symptoms: [2007/12/03 15:21:59, 3] smbd/chgpasswd.c:chgpasswd(462) chgpasswd: Password change (as_root=Yes) for user: mtest [2007/12/03 15:21:59, 3] smbd/sec_ctx.c:push_sec_ctx(208) push_sec_ctx(0, 0) : sec_ctx_stack_ndx = 2 [2007/12/03 15:21:59, 3] smbd/uid.c:push_conn_ctx(358) push_conn_ctx(105) : conn_ctx_stack_ndx = 1 [2007/12/03 15:21:59, 3] smbd/sec_ctx.c:set_sec_ctx(241) setting sec ctx (0, 0) - sec_ctx_stack_ndx = 2 [2007/12/03 15:21:59, 3] smbd/chgpasswd.c:chat_with_program(430) chat_with_program: Dochild for user mtest (uid=0,gid=0) (as_root = Yes) [2007/12/03 15:21:59, 3] smbd/chgpasswd.c:dochild(200) could not read default terminal attributes on pty [2007/12/03 15:21:59, 3] smbd/sec_ctx.c:pop_sec_ctx(356) pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 1 [2007/12/03 15:21:59, 0] smbd/chgpasswd.c:chat_with_program(440) chat_with_program: Error: dochild() returned 0 one of the relevant errors seems to be: could not read default terminal attributes on pty running a truss of the relevant samba-job shows, that ioctl is failing. this seems to be a pioneer error, which results that the passwd-chat dialog isn't invoked any more. 16854/1: write(27, 0x0040E028, 74) = 74 16854/1: c h a t _ w i t h _ p r o g r a m : D o c h i l d f o r 16854/1: u s e r m t e s t ( u i d = 0 , g i d = 0 ) ( a s _ r o 16854/1: o t = Y e s )\n 16854/1: setreuid(0, 0) = 0 16854/1: setuid(0) = 0 16854/1: getuid() = 0 [0] 16854/1: getuid() = 0 [0] 16854/1: setsid() = 16854 16854/1: open64("/dev/pts/5", O_RDWR) = 28 16854/1: close(9) = 0 16854/1: fcntl(28, F_DUP2FD, 0x00000000) = 0 16854/1: fcntl(28, F_DUP2FD, 0x00000001) = 1 16854/1: fcntl(28, F_DUP2FD, 0x00000002) = 2 16854/1: close(28) = 0 16854/1: ioctl(0, TCGETS, 0xFFBFD970) Err#22 EINVAL 16854/1: time() 1196676644 16854/1: getuid() = 0 [0] 16854/1: write(27, 0x0040E028, 55) = 55 16854/1: [ 2 0 0 7 / 1 2 / 0 3 1 1 : 1 0 : 4 4 , 3 ] s m b d / c h 16854/1: g p a s s w d . c : d o c h i l d ( 2 0 0 )\n 16854/1: getuid() = 0 [0] 16854/1: write(27, 0x0040E028, 52) = 52 16854/1: c o u l d n o t r e a d d e f a u l t t e r m i n a 16854/1: l a t t r i b u t e s o n p t y\n 16854/1: getuid() = 0 [0] 16854/1: getgid() = 0 [0] as we need unix synchronisation, any help would be helpful. we can provide more details on request. best regards hans -- Firma & Rechtsform: Österreichische Agentur für Gesundheit und Ernährungssicherheit GmbH Sitz: Spargelfeldstraße 191, 1226 Wien Firmenbuchnummer: FN 223056z Firmenbuchgericht: Handelsgericht Wien
Jeremy Allison
2007-Dec-17 19:06 UTC
[Samba] version 3.0.27a unix passwd sync nor working any more
On Mon, Dec 03, 2007 at 05:40:38PM +0100, Hans Mayer wrote:> dear samba-gurus > > our environment: solaris 9 - samba 3.0.27a > > after debugging a lot of hours we have to notice, that > password change does not work in version 3.0.27a > any more on solaris boxes. > > same smb.config on 3.0.24 and 3.0.27a, but > unix password sync ist not working with 27a > > with 3.0.27 we get an error: > You do not have permissions to change your password.Thanks for doing this debugging. I've fixed this in both the 3.0 and 3.2 trees and it should be fixed for 3.0.28a. If you need the fix now I suggest pulling the 3.0.28a git tree and testing with that. Thanks, Jeremy.