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

Работа с бэкэндом конфигурации OpenLDAP 2.4 LDIF

В OpenLDAP 2.4 конфигурация была перенесена в серверную часть LDIF под названием cn=config. В документации OpenLDAP говорится: «Никогда не следует редактировать файлы LDIF напрямую. Изменения конфигурации следует выполнять с помощью операций LDAP ...», но не дает никаких дополнительных подробностей.

Существует много противоречивой информации, и что еще хуже, дистрибутивы, такие как Redhat Linux и Ubuntu, имеют особую конфигурацию.

Есть два способа отредактировать cn=config дата: прямо и косвенно. Indirect использует обычные инструменты ldap, такие как ldapmodify и ldapsearch, что обеспечивает самый простой и наиболее логичный подход. ОДНАКО, многие дистрибутивы используют SASL для ограничения доступа только пользователю root на локальном компьютере.. Предполагая, что у вас есть предварительно настроенный экземпляр, вы можете легко изменить это:

Включение внешнего доступа к cn = config

  1. sudo -i / su -
  2. Создайте новый пароль:

    slappasswd
    
  3. Копировать результат, включая "{SSHA}"
  4. Подготовить auth.ldif. Заменить olcRootPW с хешем вашего пароля из последней команды

    dn: olcDatabase={0}config,cn=config
    changetype: modify
    replace: olcRootDN
    olcRootDN: cn=admin,cn=config 
    -
    replace: olcRootPW
    olcRootPW: {SSHA}jCMTRlz/iT4cw3CZno5z2PtCkJQbKrqK
    
  5. Импортировать LDIF:

    ldapmodify -Y EXTERNAL -H ldapi:/// -f auth.ldif
    
  6. Теперь вы можете подключиться извне (при условии, что у вас есть доступ к сети), используя любой клиент LDAP. Например.

    ldapsearch -b cn=config -D cn=admin,cn=config -H ldap://myldapserver -W
    
  7. Настройте SSL как можно скорее!

Прямой режим

В прямом режиме вы можете редактировать базу данных cn = config (и любую другую базу данных), даже если slapd не работает. Это за счет использования slapadd и slapcat инструменты. Вы должны передать суффикс базы данных. Например:

slapcat -b cn=config

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