Как запросить LDAP для адресов электронной почты членов posixGroup? - PullRequest
2 голосов
/ 23 августа 2011

Я использую сервер OpenLDAP с группами типа posixGroup и пользователями типа inetOrgPerson.

Мне нужно извлечь атрибут адреса электронной почты для пользователей в указанной группе.

Тип posixGroup хранит только uid членов в атрибуте memberUid.

Тип inetOrgPerson не хранит информацию о членстве в группе.

Поэтому в основном мне нужно запросить группу, извлечь идентификаторы пользователей, использовать эти идентификаторы пользователей, чтобы найти соответствующие узлы inetOrgPerson, а затем получить атрибут почты.

Я надеялся, что смогу сделать все это в одном фильтрованном запросе, но мне не удается найти правильный синтаксис, чтобы это произошло. Этот сценарий кажется более сложным, чем большинство примеров запросов, которые я могу найти Googling.

Кроме того, я пытаюсь сделать все это из скрипта sh, если это возможно (в Ubuntu), поэтому у меня есть команда ldapsearch.

Есть идеи?

1 Ответ

0 голосов
/ 23 августа 2011

Это работа для члена оверлея.Он поддерживает атрибут «memberOf» у каждого пользователя, скажем, это обратное сопоставление с memberUID в каждой группе.Тогда вы просто отфильтруете (& (objectClass = inetOrgPerson) (memberOf = {0})), где {0} становится именем группы.

...