Nasz korporacyjny katalog LDAP mieści się w konfiguracji Open Directory serwera Snow Leopard. Próbuję użyć ldapsearch
narzędzia do wyeksportowania pliku .ldif w celu zaimportowania na inny zewnętrzny serwer LDAP w celu uwierzytelnienia na zewnątrz; w zasadzie stara się być w stanie korzystać z tych samych poświadczeń wewnętrznie i zewnętrznie.
Mam ldapsearch
pracę i daje mi zawartość i atrybuty wszystko w „Użytkownicy” OU, a nawet aż do filtrowania tylko atrybuty muszę:
ldapsearch -xLLL -H ldap://server.domain.net /
-b "cn=users,dc=server,dc=domain,dc=net" objectClass /
uid uidNumber cn userPassword > directorycontents.ldif
To daje mi listę użytkowników i właściwości, które mogę zaimportować na mój zdalny serwer OpenLDAP.
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
Jednak gdy próbuję tego samego zapytania dla „grupy” OD zamiast „kontenera”, wyniki są mniej więcej takie:
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
To, czego naprawdę chcę, to lista użytkowników z najlepszego przykładu filtrowana na podstawie członkostwa w ich grupach, ale wygląda na to, że członkostwo jest ustawiane po stronie Grupy, a nie po stronie konta użytkownika. Musi istnieć sposób na filtrowanie tego i eksportowanie tylko tego, czego potrzebuję, prawda?
memberOf
jest atrybutem operacyjnym i należy go wyraźnie zażądać. Samoldapsearch
sugerowane tutaj nie wrócimemberOf
, nawet jeśli istnieje. Należy również wspomnieć, żememberOf
nakładka zwykle nie jest domyślnie włączona, chociaż nie wiem, jak to jest obsługiwane w OS X i Open Directory.