Contributed by jose on from the cross-platform-authentication dept.
I've found similar problems mentioned all over the web from *BSD users, but no solutions. Linux seems to be OK -- at least, I haven't found any reports of the same problem on Linux.
I've just spent half a day or so reading code to try and work out how to fix it. When the user tries to change the password, you gets loads of entries in the log like this
[2003/10/16 10:26:33, 0] /usr/ports/net/samba/stable/w-samba-2.2.8a/samba-2.2.8a /source/lib/util_sec.c:assert_gid(114) Failed to set gid privileges to (0,1003) now set to (1003,1003) uid=(0,1003)What this means is it tried to set the real gid to 0 when...
real gid = 1003 effective gid = 1003 real uid = 0 effective uid = 1003which of course fails, because according to man 2 setgid, it's only permitted if the "effective user ID is that of the superuser, or if the specified group ID is the same as the effective group ID", which is not the case.
Question 1: Am I right in thinking this is the problem?
Question 2: Er, any ideas how to fix this?
I tried making it set the uid first (when changing to root) and then the gid, but it didn't have any effect. But then, it's quite highly abstracted so it's difficult to know what to change.
I've never had to worry much about Samba and passwords, but I figure this is a common problem. Anyone have a solution for Ben?
(Comments are closed)