В настоящее время я работаю над интеграцией аутентификации LDAP в систему, и я хотел бы ограничить доступ на основе группы LDAP. Единственный способ сделать это - использовать поисковый фильтр, и поэтому я считаю, что единственным выходом для меня будет использование memberOf
атрибут в моем поисковом фильтре. Насколько я понимаю, memberOf
атрибут - это рабочий атрибут, который может быть создан сервером для меня в любое время, когда новый member
атрибут создается для любого groupOfNames
запись на сервере. Моя главная цель - добавить member
атрибут существующего groupOfNames
запись и совпадение memberOf
добавлен атрибут к предоставленному мной DN
Я работаю над OpenLDAP версии 2.3.9. Я знаю, что версия 2.4.31 является последней, но у нее есть зависимость от версии BerkeleyDB, которую я не могу обновить, поэтому я должен придерживаться версии 2.3.9.
Я установил OpenLDAP так, как описано в руководстве по OpenLDAP, и могу запустить сервер. Сейчас пытаюсь добавить memberOf
наложение в базу данных конфигурации. Я добавил следующее в slapd.conf:
database config
rootdn "cn=config"
rootpw secret
и я создал файл ldif для memberOf:
dn: cn=module,cn=config
cn: module
objectclass: olcModuleList
objectclass: top
olcmoduleload: memberof.la
olcmodulepath: "path"
dn: olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config
objectClass: olcConfig
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: memberof
и я пытаюсь добавить это наложение с помощью команды:
ldapadd -x -h "host" -p "port -D "cn=config" -f memberOf.ldif -w secret
Я получаю следующую ошибку:
ldapadd: Internal (implementation specific) error (80)
additional info: <olcModuleLoad> handler exited with 1
У меня есть следующие вопросы:
Я читал, что нам нужно использовать -y EXTERNAL
в ldapadd
команда
При этом я получаю следующую ошибку:
ldapadd: incompatible with authentication choice
Может кто-нибудь сказать, что я делаю не так? Есть много разрозненных ресурсов, которые я пробовал, но все закончились тем, что oclModuleLoad
ошибка.
Насколько я понимаю,
memberOf
атрибут - это рабочий атрибут, который может быть создан сервером для меня в любое время, когда новыйmember
атрибут создается для любогоgroupOfNames
запись на сервере.
Если вы так настроите. Вы не закончили настройку. Вам необходимо указать, для каких атрибутов и объектных классов оверлей будет поддерживать атрибут memberOf. Вам понадобится что-то вроде этого, адаптированное для ваших нужд:
olcMemberOfDangling ignore
olcMemberOfGroupOC groupOfNames
olcMemberOfMemberAD member
olcMemberOfMemberOfAD memberOf
olcMemberOfRefInt TRUE
в дополнение к тому, что у вас уже есть.