Как я настраиваю Обратное Обслуживание Состава группы на openldap сервере? (memberOf)

Какая версия апача? какая версия mod_log? Корректный ответ может быть, чтобы или зарегистрировать отчет об ошибках с апачем или исправить его в себе.

18
задан 11 October 2009 в 03:13
2 ответа

Я боролся с тем же самым, документация openldap минималистична и вряд ли может быть полезной. Когда они перешли к базе данных конфигурации (неплохая идея в принципе), все параметры изменились, поэтому, когда люди приводят пример из /etc/ldap/slapd.conf, это бесполезно с современной конфигурацией slapd (например, Ubuntu).

Я наконец получил это работающее. Вот краткое изложение ... первый файл LDIF:

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib/ldap
olcModuleLoad: memberof

Второй файл LDIF:

dn: olcOverlay=memberof,olcDatabase={1}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf

Добавьте их в базу данных конфигурации с помощью ldapadd (так же, как и обычные параметры конфигурации).

Он не обновляет автоматически существующие данные в базе данных, поэтому мне нужно было использовать slapcat, чтобы скопировать все во временный файл и посетить каждую группу, удалить группу и снова добавить ту же группу (заставляет атрибуты memberOf обновляться правильно). Если вы начинаете с пустой базы данных, она будет правильно обновлять атрибуты по мере добавления объектов.

Также обратите внимание, что "olcDatabase = {1} hdb" очень типично, но не гарантирует соответствовать вашей настройке. Обязательно проверьте это.

10
ответ дан 2 December 2019 в 20:25

Я недавно записал об этом на моем блоге, www.jordaneunson.com я скопировал и вставил соответствующие части в.

То, что я должен был сделать, было остановить "slapd" сервис на мой сервер LDAP и отредактировать мой slapd.conf файл и добавить следующие две строки.

moduleload memberof.la
overlay memberof

У меня уже был groupOfNames, названный vpn, таким образом, я затем должен был создать файл LDIF со следующим содержанием:

dn: cn=vpn,ou=Groups,dc=shop,dc=lan
objectclass: groupofnames
cn: vpn
description: Users allowed to connect on VPN
member: uid=jordan,ou=People,dc=shop,dc=lan

И добавил это к моей ldap базе данных

slapadd -f file.ldif

После этого я включил ldap сервер в отладке для проверки ошибок

slapd -d 99 -f /etc/ldap/slapd.conf 

и проверенный, чтобы удостовериться, что мой состав группы “vpn” был перечислен в моей пользовательской записи.

ldapsearch -h ldap -x -b "dc=shop,dc=lan" '(uid=jordan)' memberOf 

и обман! успех!

jordan, People, shop.lan
dn: uid=jordan,ou=People,dc=shop,dc=lan
memberOf: cn=vpn,ou=Groups,dc=shop,dc=lan

Таким образом, я разжег slapd сервис назад и имел много успеха с тех пор. Для нового инструмента управления GUI я использую phpLDAPAdmin и не имею никаких проблем с атрибутом memberOf, присваиваемым и неназначенным моим пользователям.

Одна последняя вещь отметить состоит в том, что атрибут "memberOf" не является частью основной схемы LDAP v3, и таким образом выполнение ldapsearch не покажет этот атрибут, если конкретно не запрошено. Именно поэтому в моем выше примера это объявляется в конце ldapsearch параметров.

Надеюсь, это поможет.

Править: Я просто протестировал Вашу проблему с Studio Каталога Apache: пока я ввожу членское значение атрибута в целом, как упомянуто выше его A-OK работ. Однако атрибут memberOf не обнаруживается в пользовательской записи. Это вызвано тем, что атрибут memberOf не является частью схемы LDAPv3. Чтобы проверить, что это - там использование инструмент командной строки ldapsearch:

ldapsearch -h ldap -x -b "dc=shop,dc=lan" '(uid=jordan)' memberOf 
11
ответ дан 2 December 2019 в 20:25
  • 1
    Загрузка модуля и добавление наложения точно, что я сделал, к сожалению. Поскольку я заявил проблему isn' t, что " memberOf" атрибуты являются not' t добавленный для новых groupOfNames записей, it' s, что они - not' t быть добавленным, когда я просто добавляю " member" припишите существующей группе. I' m в настоящее время с помощью Studio Каталога Apache, чтобы просмотреть и настроить мой LDAP, таким образом, это действительно показывает memberOf записи, когда я просматриваю. It' s не вопрос их скрытый. –  emills 13 October 2009 в 22:28
  • 2
    Как Вы создаете членский атрибут в groupOfNames? Это использует целый DN? как: " uid=user, ou=People, dc=corp, dc=org" или Вы просто заполняете их имя пользователя? Для реверса, отображающегося на работу, необходимо использовать целый DN так, чтобы memberOf знал, куда поместить обратную карту. –  Jordan Eunson 16 October 2009 в 22:51
  • 3
    Править: Я просто протестировал Вашу проблему с Studio Каталога Apache, пока я ввожу членское значение атрибута в целом, как упомянуто выше его A-OK работ. Однако атрибут memberOf не обнаруживается в пользовательской записи. Это вызвано тем, что атрибут memberOf не является частью схемы LDAPv3. Проверить it' s там используют инструмент командной строки ldapsearch. < code> ldapsearch-h ldap-x-b " dc=shop, dc=lan" ' (uid=jordan) ' memberOf </code> –  Jordan Eunson 17 October 2009 в 00:25
  • 4
    Я использую DN в членской записи. It' s не вопрос не наблюдения его, как, который я уже заявил, они только добавляются (и поэтому видимы) с новым groupOfNames, добавляется, не, когда я добавляю, что участник приписывает exisiting группе. –  emills 21 October 2009 в 09:59
  • 5
    < quote> они только добавляются (и поэтому видимы), </quote> I' m извините, но этот оператор является неправильным. Атрибут memberOf не видим, если Вы конкретно не запрашиваете для него. Вы могли отправить вывод упомянутой выше команды ldapsearch? Измените пользователя на того, который должен иметь атрибут memberOf, но не делает. –  Jordan Eunson 21 October 2009 в 20:11

Теги

Похожие вопросы