Unser LDAP-Unternehmensverzeichnis befindet sich in einem Open Directory-Setup von Snow Leopard Server. Ich versuche , das verwenden ldapsearch
Tool eine .ldif - Datei Import in den Export ein anderes externen LDAP-Server zu extern zu authentifizieren. Grundsätzlich wird versucht, dieselben Anmeldeinformationen intern und extern verwenden zu können.
Ich muss ldapsearch
arbeiten und mir den Inhalt und die Attribute von allem in der Organisationseinheit "Benutzer" geben und sogar nur auf die Attribute filtern, die ich brauche:
ldapsearch -xLLL -H ldap://server.domain.net /
-b "cn=users,dc=server,dc=domain,dc=net" objectClass /
uid uidNumber cn userPassword > directorycontents.ldif
Dadurch erhalte ich eine Liste der Benutzer und Eigenschaften, die ich auf meinen Remote-OpenLDAP-Server importieren kann.
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
Wenn ich jedoch dieselbe Abfrage für eine OD- "Gruppe" anstelle eines "Containers" versuche, sind die Ergebnisse ungefähr so:
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
Was ich wirklich möchte, ist eine Liste der Benutzer aus dem oberen Beispiel, die basierend auf ihren Gruppenmitgliedschaften gefiltert wurden, aber es sieht so aus, als ob die Mitgliedschaft eher auf der Gruppenseite als auf der Benutzerkontoseite festgelegt wird. Es muss eine Möglichkeit geben, dies herauszufiltern und nur das zu exportieren, was ich brauche, oder?
memberOf
ein Betriebsattribut ist und explizit angefordert werden muss. Ein bloßesldapsearch
wie hier vorgeschlagen wird nicht zurückkehrenmemberOf
, selbst wenn es existiert. Es sollte auch erwähnt werden, dass dasmemberOf
Overlay normalerweise nicht standardmäßig aktiviert ist, obwohl ich nicht weiß, wie dies in OS X und Open Directory behandelt wird.