Установка OpenLdap в Debian Squeeze.
Что такое Ldap очень хорошо описано в статье LDAP: каталог для всех
Для чего используется читайте Централизованная схема управления сетью с использованием OpenLDAP
Установка в Debian
В процессе установки нужно будет создать пароль администратора.
Настройка
Открываем в любимом редакторе файл /etc/ldap/ldap.conf
Изменяем или добавляем строки
В новых версиях OpenLdap начиная с 2.4.23-3 в Debian вы не найдете конфигурационного файла slapd.conf. Дело в том что Debian переходит на динамический конфиг cn=config взамен устаревшего статического slapd.conf. Все конфиги теперь располагаются в каталоге /etc/ldap/slapd.d/, ни в коем случае напрямую эти файлы править нельзя. Это можно сделать следующими способами.
В интерактивном режиме в командной строке
Добавим пару индексов для лучшей производительности как советуют на http://wiki.debian.org/LDAP/OpenLDAPSetup.
Смотрим какие индексы созданы по умолчанию
ldapsearch - утилита для поиска в LDAP.
-LLL - первая L ограничивает вывод форматом LDIFv1, вторая L удаляет в выводе комментарии к конфигу, третья L убирает название версии в выводе.
-H идентификатор ресурса. ldapi указывает на то что мы подключаемся через UNIX -сокет.
-b - указывает точку начала поиска. В нашем случае поиск начинается с ветки cn=config ищем все записи относящиеся к экземпляру базы данный hdb с индексом {1}, показать индексы для этой бд olcDbIndex.
Добавим индексы в интерактивном режиме в командной строке.
Входим в интерактивный режим
Набираем внимательно после перехода на следующую строку вернуться на предыдущую для исправления не получится и придется заново входить в интерактивный режим и набирать все заново.
Нажимаем Ctrl+D.
Проверяем
Один из плюсов динамического конфига в том что изменения вступают в силу сразу, без перезагрузки.
Другой способ изменить конфигурацию, с помощью заранее подготовленyого файла в формате LDIF.
1. Первая строчка должна содержать версию используемого формата 1, в противном случае возможна ситуация когда ваш файл будет интерпретироваться как старый формат. Это требование rfc 2849, для современных реализаций ldap серверов это не обязательно.
version: 1
2. Если вы хотите добавить комментарий то строчка должна начинаться с символа "#".
3. Задаем уникальное имя записи(dn) с которой мы будет производить какие-то действия. В нашем случае dn: olcDatabase={1}hdb,cn=config
4. Задаем действие(changetype), применимое к записи(entry). Действия могут быть следующими: add - добавить новую запись, delete - удалить, modify - изменить и modrdn - изменить относительное уникальное имя записи rdn.
В нашем случае мы хотим изменить данные уникальное имя которой dn: olcDatabase={1}hdb,cn=config следовательно указываем
changetype: modify
5. Далее указываем что мы хотим сделать внутри записи, доступные действия add добавить, delete удалить, replace заменить или изменить. Мы хотим добавить атрибуты olcDbIndex
add: olcDbIndex
6. Список атрибут:значение
olcDbIndex: cn pres,sub,eq
olcDbIndex: sn pres,sub,eq
olcDbIndex: uid pres,sub,eq
olcDbIndex: displayName pres,sub,eq
olcDbIndex: default sub
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: mail,givenName eq,subinitial
olcDbIndex: dc eq
В итоге содержание файла должно выглядеть следующим образом:
Сохраняем все это в файл и выполняем команду.
Я сохранил в текущий каталог, имя файла test
Для чего используется читайте Централизованная схема управления сетью с использованием OpenLDAP
Установка в Debian
#aptitude install slapd ldap-utils
Настройка
Открываем в любимом редакторе файл /etc/ldap/ldap.conf
Изменяем или добавляем строки
BASE dc=example,dc=com URI ldap://ldap.example.com/
В новых версиях OpenLdap начиная с 2.4.23-3 в Debian вы не найдете конфигурационного файла slapd.conf. Дело в том что Debian переходит на динамический конфиг cn=config взамен устаревшего статического slapd.conf. Все конфиги теперь располагаются в каталоге /etc/ldap/slapd.d/, ни в коем случае напрямую эти файлы править нельзя. Это можно сделать следующими способами.
В интерактивном режиме в командной строке
Добавим пару индексов для лучшей производительности как советуют на http://wiki.debian.org/LDAP/OpenLDAPSetup.
Смотрим какие индексы созданы по умолчанию
#ldapsearch -LLLQY EXTERNAL -H ldapi:/// -b cn=config olcDatabase={1}hdb olcDbIndex dn: olcDatabase={1}hdb,cn=config olcDbIndex: objectClass eq
-LLL - первая L ограничивает вывод форматом LDIFv1, вторая L удаляет в выводе комментарии к конфигу, третья L убирает название версии в выводе.
-H идентификатор ресурса. ldapi указывает на то что мы подключаемся через UNIX -сокет.
-b - указывает точку начала поиска. В нашем случае поиск начинается с ветки cn=config ищем все записи относящиеся к экземпляру базы данный hdb с индексом {1}, показать индексы для этой бд olcDbIndex.
Добавим индексы в интерактивном режиме в командной строке.
Входим в интерактивный режим
#ldapmodify -QY EXTERNAL -H ldapi:///
dn: olcDatabase={1}hdb,cn=config #Уникальное имя. Запись add:olcDbIndex # действие:имя_атрибута olcDbIndex: cn pres,sub,eq #атрибут:значение olcDbIndex: sn pres,sub,eq #атрибут:значение olcDbIndex: uid pres,sub,eq #атрибут:значение olcDbIndex: displayName pres,sub,eq #атрибут:значение olcDbIndex: default sub #атрибут:значение olcDbIndex: uidNumber eq #атрибут:значение olcDbIndex: gidNumber eq #атрибут:значение olcDbIndex: mail,givenName eq,subinitial #атрибут:значение olcDbIndex: dc eq #атрибут:значение
modifying entry "olcDatabase={1}hdb,cn=config" #
# ldapsearch -LLLQY EXTERNAL -H ldapi:/// -b cn=config olcDatabase={1}hdb olcDbIndex dn: olcDatabase={1}hdb,cn=config olcDbIndex: objectClass eq olcDbIndex: cn pres,sub,eq olcDbIndex: sn pres,sub,eq olcDbIndex: uid pres,sub,eq olcDbIndex: displayName pres,sub,eq olcDbIndex: default sub olcDbIndex: uidNumber eq olcDbIndex: gidNumber eq olcDbIndex: mail,givenName eq,subinitial olcDbIndex: dc eq
Другой способ изменить конфигурацию, с помощью заранее подготовленyого файла в формате LDIF.
1. Первая строчка должна содержать версию используемого формата 1, в противном случае возможна ситуация когда ваш файл будет интерпретироваться как старый формат. Это требование rfc 2849, для современных реализаций ldap серверов это не обязательно.
version: 1
2. Если вы хотите добавить комментарий то строчка должна начинаться с символа "#".
3. Задаем уникальное имя записи(dn) с которой мы будет производить какие-то действия. В нашем случае dn: olcDatabase={1}hdb,cn=config
4. Задаем действие(changetype), применимое к записи(entry). Действия могут быть следующими: add - добавить новую запись, delete - удалить, modify - изменить и modrdn - изменить относительное уникальное имя записи rdn.
В нашем случае мы хотим изменить данные уникальное имя которой dn: olcDatabase={1}hdb,cn=config следовательно указываем
changetype: modify
5. Далее указываем что мы хотим сделать внутри записи, доступные действия add добавить, delete удалить, replace заменить или изменить. Мы хотим добавить атрибуты olcDbIndex
add: olcDbIndex
6. Список атрибут:значение
olcDbIndex: cn pres,sub,eq
olcDbIndex: sn pres,sub,eq
olcDbIndex: uid pres,sub,eq
olcDbIndex: displayName pres,sub,eq
olcDbIndex: default sub
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: mail,givenName eq,subinitial
olcDbIndex: dc eq
В итоге содержание файла должно выглядеть следующим образом:
version: 1 dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: cn pres,sub,eq olcDbIndex: sn pres,sub,eq olcDbIndex: uid pres,sub,eq olcDbIndex: displayName pres,sub,eq olcDbIndex: default sub olcDbIndex: uidNumber eq olcDbIndex: gidNumber eq olcDbIndex: mail,givenName eq,subinitial olcDbIndex: dc eq
Я сохранил в текущий каталог, имя файла test
# ldapmodify -QY EXTERNAL -H ldapi:/// -f ./test modifying entry "olcDatabase={1}hdb,cn=config"
Комментарии
Отправить комментарий