Я пытаюсь настроить тестовый сервер openldap, раньше не работал с openldap. Я использую стандартный пакет openldap-servers на машине на базе redhat (с использованием Oracle Linux). Я установил пакеты и запустил сервер.
Теперь я не знаю, как заставить сервер делать что-нибудь полезное; Я не могу перейти к нему с помощью luma (`` Нет такого объекта '' при попытке доступа к записи верхнего уровня), документы openldap нечеткие относительно того, как вы на самом деле приводите сервер к базовой рабочей конфигурации, и вся информация в Интернете предназначен для старого файла slapd.conf, а не для нового файла slapd.d и cn = config.
Как мне заставить работать ванильную упакованную установку openldap, где я могу перейти к корневому dn в luma?
Я чувствую твою боль.
Попробуйте это (он протестирован на Scientific Linux 6.5, поэтому должен работать и на OL):
yum install openldap-servers openldap-clients
) slapd
: service slapd start
(и возможно chkconfig slapd on
)cn=config
и ваш обычный пользователь-администратор LDAP с slappasswd
. Обратите внимание на результат этого.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 если вы хотите узнать больше.