'winbind nss info' and new idmap architecture
Kenneth MacDonald
K.MacDonald at ed.ac.uk
Sun Nov 12 22:45:11 GMT 2006
>>>>> "Jerry" == Gerald (Jerry) Carter <jerry at samba.org> writes:
Jerry> Simo, One thing I hadn't really considered before was the
Jerry> frequently tight relationship between the nss info and
Jerry> idmap backends. Ideally, the idmap backend plugin should
Jerry> also be able to provide the homedir, shell, & gecos
Jerry> information (assuming the idmap backend interfaces with a
Jerry> unique DIT data model).
Jerry> The current code supports sfu/rfc2307 by assuming that the
Jerry> posix attributes are stored on the user/computer obkect in
Jerry> AD. It also makes it impossible to override this without
Jerry> modifying core winbindd_ads.c code. This should really be
Jerry> a pluggable interface somehow. Although I don't want it to
Jerry> become overly complicated to configure.
Apple came up with a really elegant method of making their Active
Directory DirectoryServices plugin work in almost any AD environment.
They allow the sysadmin to choose the name (Ldap-Display-Name I
presume) of the attribute to use on the user account object for their
UID, GID and on the security group object for its GID. If your AD
doesn't have SFU/RFC2307 attributes populated, it can fall back to
using the first 31 bits of the objectGUID for UID and group GID
(primaryGroupID for user GID).
Of course, if you choose a non-indexed attribute you can quickly bring
your DCs to their knees!
See in particular the -uid, -gid and -ggid in the manual page (for example at
http://developer.apple.com/documentation/Darwin/Reference/Manpages/man8/dsconfigad.8.html)
Unfortunately, they have chosen to use the Common-Name (or perhaps the
Admin-Display-Name) of security groups to supply the Unix group name.
Since these can't be guaranteed to be unique across a domain it leads
to their plugin giving up when asking for the members of an ambiguous
group. I'd imagine sAMAccountName with the trailing $ stripped off
would have been more reliable.
I've had two aborted attempts to add this functionality in to the AD
idmap plugin, but my C coding isn't up to it.
I'll happily answer any questions you have on my research to date.
Cheers,
Kenny.
--
Desktop Services Team, EUCS.
University of Edinburgh, Scotland.
More information about the samba-technical
mailing list