[Samba] Samba4 Winbind - is it really not possible to be sensible?
Gémes Géza
geza at kzsdabas.hu
Sat Jan 26 00:23:42 MST 2013
2013-01-25 20:43 keltezéssel, Rob McCorkell írta:
> Samba3 allowed for the setting of idmaps and passdb backends to
> configure how users were pulled in. This made integrating with
> existing LDAP databases, other other forms of authentication easy,
> since Samba could be configured to present the same UID and GID as
> directly from the [insert other auth method here] system. All was good.
>
> Unfortunately Samba4 seems to have removed much of that functionality.
> I understand that in an AD context, passdb backend doesn't really make
> very much sense, so removing that was fair. What I do not understand
> is why Winbind cannot be configured to use certain idmaps, more
> specifically the RID mapping. This would make it significantly easier
> to integrate LDAP authenticating clients into Samba4, for example
> using nslcd to map the UIDs and GIDs. The current implementation is
> forced into using allocated *IDs, which are not consistent across
> machines.
> But all in all this is not a big problem, since although machines get
> different *IDs, they use the CIFS protocol which uses usernames
> instead, so each machine knows who a user is. The problem is when a
> server that runs Samba4 as a file server uses LDAP to get user
> information. When a client connects, Samba4 the user UID which is
> allocated. Samba4 then finds the home share, but since the UID on the
> home share (dutifully mapped by nslcd from the RID on the end of the
> objectSid) doesn't match the allocated one, it refuses access.
>
> All that nslcd does in this case is map a UID to the RID from the
> objectSid in LDAP. This is a very simple mapping - just get the end of
> the string, where the first bit is the domain SID. Samba3 supported
> RID mapping in this fashion, but I do not understand why this was not
> ported across to Samba4. It would only change the UIDs and GIDs as
> seen by Samba, which as far as I know are used very little within
> Samba, where the objectSid is used instead.
>
> Of course, it could be that I have a massive misunderstanding of the
> internals of Samba4, and there is a reason why this functionality
> wasn't brought across.
>
> Rob
If you provision/run with idmap_ldb:use rfc2307 then you can assign each
user/group a uidNumber/gidNumber which then is/can be obeyed by samba/nslcd.
Regards
Geza Gemes
More information about the samba
mailing list