Базовая настройка openldap с использованием конфигурации slapd.d
Я пытаюсь настроить тестовый сервер openldap, раньше не работал с openldap. Я использую стандартный пакет openldap-servers на машине, основанной на redhat (используя Oracle Linux). Я установил пакеты и запустил сервер.
Теперь я понятия не имею, как заставить сервер делать что-то полезное; Я не могу просмотреть его с помощью luma ("Нет такого объекта" при попытке получить доступ к записи верхнего уровня), документы openldap тупы относительно того, как вы на самом деле приводите сервер в базовое рабочее состояние, и всей информации в Интернете. это для старого файла slapd.conf, а не для новых slapd.d и cn = config.
Как заставить работать пакет openldap, упакованный в ваниль, где я могу найти root dn в luma?
2 ответа
Я чувствую твою боль.
Попробуйте это (он протестирован на 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 изменить тип: изменить добавить: olcRootPW olcRootPW: {SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj dn: olcDatabase = {2} bdb, cn = config изменить тип: изменить добавить: olcRootPW olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj - заменить: olcRootDN olcRootDN: cn=admin,dc= ваш, dc = базовый,dc=com - заменить: olcSuffix olcSuffix: dc= ваш, dc = базовый, 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=
, Так, faultserver.ru
может стать dc=serverfault,dc=com
, Ваш rootdn
должен быть под этим суффиксом.
Вам также необходимо изменить строку, которая определяет пароль пользователя root. Вы можете установить его в виде текста или использовать slappasswd
создать хеш. Затем вам нужно поместить либо значение открытого текста, либо значение хеширования из slappasswd
в строке, которая выглядит так:
rootpw myultrasecurepassword
Schemas
Это хорошая идея, чтобы начать думать о схемах, которые вы хотите использовать. Схема определяет атрибуты, которые может иметь объект, поэтому вам необходимо включить схемы, которые содержат необходимые вам атрибуты. Эти схемы включены в верхней части 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 если вы хотите узнать больше.