
Я пытаюсь настроить тестовый сервер openldap, не работая с openldap ранее. Я использую стандартный пакет openldap-servers на машине на базе redhat (используя Oracle Linux). Я установил пакеты и запустил сервер.
Теперь я понятия не имею, как на самом деле заставить сервер делать что-то полезное; я не могу перейти к нему с помощью Luma («Нет такого объекта» при попытке доступа к записи верхнего уровня), документация OpenLDAP не дает ясного представления о том, как на самом деле получить сервер в базовой рабочей конфигурации, а вся информация в Интернете касается старого файла slapd.conf, а не нового slapd.d и cn=config.
Как мне заставить работать упакованную в ваниль установку OpenLDAP, в которой я могу перейти к корневому DN в Luma?
решение1
Я чувствую твою боль.
Попробуйте это (это проверено на Scientific Linux 6.5, так что должно работать и на OL):
- Установка серверов OpenLDAP:
yum install openldap-servers openldap-clients
) - начало
slapd
:service slapd start
(и может бытьchkconfig slapd on
) - Создайте пароли для
cn=config
и вашего обычного пользователя LDAP admin с помощью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=your,dc=base,dc=com - заменить: olcSuffix olcСуффикс: 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.
решение2
Прежде чем запустить сервер 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 wiki — отличный источник информации по этой теме — см.https://wiki.archlinux.org/index.php/OpenLDAPиhttps://wiki.archlinux.org/index.php/LDAP_Аутентификацияесли вы хотите узнать больше.