La nostra directory LDAP aziendale è ospitata su un'impostazione Open Directory di Snow Leopard Server. Sto cercando di utilizzare lo ldapsearch
strumento per esportare un file .ldif da importare in un altro server LDAP esterno con cui eseguire l'autenticazione esternamente; fondamentalmente cercando di essere in grado di utilizzare le stesse credenziali internamente ed esternamente.
Ho ldapsearch
lavorato e mi hanno dato i contenuti e gli attributi di tutto nell'unità organizzativa "Utenti", e ho anche filtrato solo gli attributi di cui ho bisogno:
ldapsearch -xLLL -H ldap://server.domain.net /
-b "cn=users,dc=server,dc=domain,dc=net" objectClass /
uid uidNumber cn userPassword > directorycontents.ldif
Questo mi dà un elenco di utenti e proprietà che posso importare sul mio server OpenLDAP remoto.
dn: uid=username1,cn=users,dc=server,dc=domain,dc=net
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: organizationalPerson
uidNumber: 1000
uid: username1
userPassword:: (hashedpassword)
cn: username1
Tuttavia, quando provo la stessa query su un "gruppo" OD anziché su un "contenitore", i risultati sono qualcosa del genere:
dn: cn=groupname,cn=groups,dc=server,dc=domain,dc=net
objectClass: posixGroup
objectClass: apple-group
objectClass: extensibleObject
objectClass: top
gidNumber: 1032
cn: groupname
memberUid: username1
memberUid: username2
memberUid: username3
Quello che voglio davvero è un elenco di utenti dell'esempio principale filtrato in base alle loro appartenenze al gruppo, ma sembra che l'appartenenza sia impostata dal lato Gruppo, piuttosto che dal lato account utente. Deve esserci un modo per filtrare questo ed esportare solo ciò di cui ho bisogno, giusto?
memberOf
è un attributo operativo e deve essere richiesto esplicitamente. Un meroldapsearch
suggerito qui non torneràmemberOf
, anche se esiste. Va anche detto che l'memberOf
overlay di solito non è abilitato per impostazione predefinita, anche se non so come questo sia gestito in OS X e Open Directory.