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

Базовая настройка openldap с использованием конфигурации slapd.d

Я пытаюсь настроить тестовый сервер openldap, раньше не работал с openldap. Я использую стандартный пакет openldap-servers на машине на базе redhat (с использованием Oracle Linux). Я установил пакеты и запустил сервер.

Теперь я не знаю, как заставить сервер делать что-нибудь полезное; Я не могу перейти к нему с помощью luma (`` Нет такого объекта '' при попытке доступа к записи верхнего уровня), документы openldap нечеткие относительно того, как вы на самом деле приводите сервер к базовой рабочей конфигурации, и вся информация в Интернете предназначен для старого файла slapd.conf, а не для нового файла slapd.d и cn = config.

Как мне заставить работать ванильную упакованную установку openldap, где я могу перейти к корневому dn в luma?

Я чувствую твою боль.

Попробуйте это (он протестирован на Scientific Linux 6.5, поэтому должен работать и на OL):

  • Установите серверы OpenLDAP: yum install openldap-servers openldap-clients)
  • Начало slapd: service slapd start (и возможно chkconfig slapd on)
  • Создать пароли для cn=config и ваш обычный пользователь-администратор LDAP с slappasswd. Обратите внимание на результат этого.
  • Создайте файл LDIF со следующим содержимым:
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj

dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj
-
replace: olcRootDN
olcRootDN: cn=admin,dc=your,dc=base,dc=com
-
replace: olcSuffix
olcSuffix: dc=your,dc=base,dc=com
  • Значения для olcRootPW следует заменить на вывод slappaswd вы отмечали ранее.
  • Естественно, olcSuffix и olcRootDN должен быть адаптирован к вашему новому базовому DN.
  • Передайте все это на сервер LDAP с помощью следующей команды:

    ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif

После этого вы сможете подключиться к обоим cn=config и dc=your,dc=base,dc=com через LDAP.

Перед тем, как запустить сервер OpenLDAP, вам нужно сначала настроить несколько вещей.

Базовая конфигурация

Вам необходимо настроить пользователя root и пароль, а также указать базовое DN. В slapd.confнайдите строки, следующие за строками, и установите для них нужные значения.

suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"

Обычно ваш базовый DN (определяется как suffix в файле) - это компоненты вашего доменного имени, разделенные запятыми и с префиксом dc=. Так, serverfault.com может стать dc=serverfault,dc=com. Ваш rootdn должен быть под этим суффиксом.

Также необходимо изменить строку, определяющую пароль root. Вы можете установить его в виде открытого текста или использовать slappasswd для создания хеша. Затем вам нужно поместить либо значение открытого текста, либо значение хеширования из slappasswd в строке, которая выглядит так:

rootpw myultrasecurepassword

Схемы

На этом этапе неплохо было бы подумать о схемах, которые вы хотите использовать. Схема определяет атрибуты, которые может иметь объект, поэтому вам необходимо включить схемы, содержащие нужные вам атрибуты. Эти схемы включены в верхнюю часть slapd.conf, а вот те, что здесь, обычно являются абсолютными базовыми схемами, которые вам понадобятся:

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema

Эти пути используются в Arch Linux, поэтому вам может потребоваться настроить их для соответствия Oracle Linux.

Около slapd.conf против slapd.d

OpenLDAP перешел из автономной конфигурации (выполнено в slapd.conf) в онлайн-конфигурацию, сохраняя данные в специальном cn=config дерево найдено в slapd.d. Изменение ldif файлы в slapd.d однако это болезненный процесс, поэтому редактировать его намного проще slapd.conf как указано выше, затем преобразуйте это в новый slapd.d формат.

Сначала удалите все в slapd.d. Затем запустите следующую команду, не забудьте настроить пути к Oracle Linux:

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

Затем просто установите владельцем вашего пользователя LDAP и рекурсивно группу в этом каталоге, и вы должны быть готовы к работе. Это нужно делать каждый раз, когда вы редактируете slapd.conf - просто не забудьте остановить сервер OpenLDAP, прежде чем делать это!

Начальный запуск

Прежде чем вы действительно сможете использовать каталог, вам необходимо создать базовое DN (и пользователя root). Создать .ldif файл, содержащий строки, похожие на следующие:

dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example

dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root

Теперь запустите сервер OpenLDAP. Нам просто нужно поместить эту информацию в каталог LDAP:

ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif

Очевидно, измените корневое DN и имя файла ldif в соответствии с тем, что у вас есть.

Теперь у вас должен быть настроен рабочий каталог LDAP, готовый к заполнению!


Вики-сайт Arch Linux - отличный источник информации по этой теме - см. https://wiki.archlinux.org/index.php/OpenLDAP и https://wiki.archlinux.org/index.php/LDAP_Authentication если вы хотите узнать больше.