Назад | Перейти на главную страницу

Не удалось добавить наложение memberOf openldap 2.3.9

В настоящее время я работаю над интеграцией аутентификации 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

У меня есть следующие вопросы:

  1. Можно ли добавлять оверлеи в версиях меньше 2.3?
  2. Я читал, что нам нужно использовать -y EXTERNAL в ldapadd команда

    При этом я получаю следующую ошибку:

    ldapadd: incompatible with authentication choice
    

Может кто-нибудь сказать, что я делаю не так? Есть много разрозненных ресурсов, которые я пробовал, но все закончились тем, что oclModuleLoad ошибка.

Насколько я понимаю, memberOf атрибут - это рабочий атрибут, который может быть создан сервером для меня в любое время, когда новый member атрибут создается для любого groupOfNames запись на сервере.

Если вы так настроите. Вы не закончили настройку. Вам необходимо указать, для каких атрибутов и объектных классов оверлей будет поддерживать атрибут memberOf. Вам понадобится что-то вроде этого, адаптированное для ваших нужд:

olcMemberOfDangling ignore
olcMemberOfGroupOC  groupOfNames
olcMemberOfMemberAD member
olcMemberOfMemberOfAD   memberOf
olcMemberOfRefInt   TRUE

в дополнение к тому, что у вас уже есть.