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

OpenLDAP 2.4 Chain Overlay Минимальная конфигурация LDIF

Информации о том, как наложения цепочек настраиваются в бэкэнде OpenLDAP LDIF, практически нет. Какая минимальная конфигурация требуется?

Единственный способ решить эту проблему - преобразовать файл конфигурации старого стиля в стиль LDIF. У этого шоу довольно сложная структура, которая плохо документирована.

Структура создает записи базы данных LDAP во внешнем интерфейсе для перехвата ответов реферера.

Ситуация усложняется тем, что проверка схемы конфликтует с собственными требованиями к конфигурации OpenLDAP (olcDbURI нельзя использовать в первой записи). Чтобы обойти эту проблему, необходимо выполнить автономную / прямую модификацию, но помните, что редактирование LDIF напрямую с помощью текстового редактора настоятельно не рекомендуется - см. Работа с бэкэндом конфигурации OpenLDAP 2.4 LDIF

Если вы используете Ubuntu / Debian, убедитесь, что вы загрузили back_ldap модуль - Цепочка OpenLDAP не найдена

  1. Создайте "chainoverlay.ldif":

    dn: olcOverlay=chain,olcDatabase={-1}frontend,cn=config
    objectClass: olcOverlayConfig
    objectClass: olcChainConfig
    olcOverlay: chain
    olcChainCacheURI: FALSE
    olcChainMaxReferralDepth: 1
    olcChainReturnError: TRUE
    
  2. Как root, импортируйте косвенно:

    # ldapadd -Y EXTERNAL -H ldapi:/// -f chainoverlay.ldif
    
  3. Создайте defaultldap.ldif:

    dn: olcDatabase=ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config
    objectClass: olcLDAPConfig
    objectClass: olcChainDatabase
    olcDatabase: ldap
    
  4. Импортировать defaultldap.ldif в автономном режиме (это необходимо для обхода проверки схемы):

    # service slapd stop
    # slapadd -b cn=config -l defaultldap.ldif
    
  5. Исправьте странную запись и завивки:

    # rm "/etc/ldap/slapd.d/cn=config/olcDatabase={-1}over.ldif"
    # chown -R openldap:openldap "/etc/ldap/slapd.d/cn=config"
    
  6. Запустить slapd:

    # service slapd start
    
  7. Создайте конфигурацию перехвата цепочки - chainedserver.ldif:

    dn: olcDatabase=ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config
    objectClass: olcLDAPConfig
    objectClass: olcDatabaseConfig
    objectClass: olcConfig
    objectClass: top
    objectClass: olcChainDatabase
    olcDatabase: ldap
    olcDbURI: ldap://areferredserver.com