Основна настройка openldap за допомогою конфігурації slapd.d


14

Я намагаюся налаштувати тестовий сервер openldap, раніше не працював з openldap. Я використовую стандартний пакет openldap-серверів на машині, що базується на Redhat (використовуючи Oracle Linux). Я встановив пакунки та запустив сервер.

Я зараз не маю уявлення, як насправді змусити сервер зробити щось корисне; Я не можу переглядати його за допомогою luma ("Немає такого об'єкта" при спробі отримати доступ до запису верхнього рівня). Документи openldap тупі в тому, як ви насправді отримуєте сервер до базової робочої конфігурації та всієї інформації в Інтернеті є для старого файлу slapd.conf, а не для нового slapd.d і cn = config.

Як мені отримати встановлену openldap з ванільною системою, яка працює, де я можу переглядати кореневий dn у luma?

Відповіді:


20

Я відчуваю твій біль.

Спробуйте це (тестується на 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.


7
Дякую, це як кошмар для початківців. Існує конфігурація, але в перших рядках slap.d / * - НЕ редагуйте, в той час як усі інструкції / початок роботи / посібники розповідають про "відкрити конфігурацію у вашому улюбленому редакторі"
fghj

9

Перш ніж запустити сервер 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.confvsslapd.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, якщо ви хочете знати більше.


Більшу частину цього вже робить менеджер пакунків і продовжує керувати конфігурацією через slapd.confта, slaptestпоки сервер зупиняється, перемагає мету онлайн-конфігурації.
Свен

2
Для початкової конфігурації slapd.confпрацює чудово, і, звичайно, більш інтуїтивно зрозуміло, ніж slapd.dбезпосередньо редагування . Я не знаю, скільки каталогів працює менеджер пакунків в Oracle Linux, але якщо ОП не змогла отримати доступ до базової DN, то цього може бути недостатньо
Xenopathic

1
У прийнятій відповіді є потрібна мені інформація, але також була корисна інформація про створення початкових об’єктів
thecoop
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.