Наш корпоративный каталог LDAP размещен на открытой директории Snow Leopard Server. Я пытаюсь использовать ldapsearch
инструмент для экспорта файла .ldif для импорта на другой внешний сервер LDAP для внешней аутентификации; в основном пытается использовать одни и те же учетные данные внутри и снаружи.
Я ldapsearch
поработал и дал мне содержимое и атрибуты всего в подразделении «Пользователи» и даже отфильтровал только те атрибуты, которые мне нужны:
ldapsearch -xLLL -H ldap://server.domain.net /
-b "cn=users,dc=server,dc=domain,dc=net" objectClass /
uid uidNumber cn userPassword > directorycontents.ldif
Это дает мне список пользователей и свойств, которые я могу импортировать на мой удаленный сервер 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
Тем не менее, когда я пытаюсь выполнить тот же запрос в группе OD, а не в контейнере, результаты выглядят примерно так:
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
Что мне действительно нужно, так это список пользователей из верхнего примера, отфильтрованный по членству в группах, но похоже, что членство устанавливается со стороны группы, а не со стороны учетной записи пользователя. Должен быть способ отфильтровать это и экспортировать только то, что мне нужно, верно?
memberOf
является операционным атрибутом, который необходимо запрашивать явно. Простоеldapsearch
предложенное здесь не вернетсяmemberOf
, даже если оно существует. Следует также отметить, чтоmemberOf
оверлей обычно не включен по умолчанию, хотя я не знаю, как это обрабатывается в OS X и Open Directory.