[Samba] version 3.0.27a unix passwd sync nor working any more

Hans Mayer hans.mayer at ages.at
Mon Dec 3 16:40:38 GMT 2007


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   


More information about the samba mailing list