Каждое DIT описывается в разделе database файла slapd.conf. При определении нескольких разделов database на одном сервере каталогов будет определено несколько DIT. Каждое DIT является отдельным и имеет свой собственный контекст именования (или пространство имён). Предположим, мы хотим создать на одном LDAP-сервере следующую структуру:
# ###### НЕСКОЛЬКО DIT ############ # # Примечание: inetorgperson использует атрибуты и # объектные классы из всех трёх наборов схемы include /usr/local/etc/openldap/schema/core.schema include /usr/local/etc/openldap/schema/cosine.schema include /usr/local/etc/openldap/schema/inetorgperson.schema # НЕТ СИСТЕМЫ БЕЗОПАСНОСТИ - условия безопасности пропущены # по умолчанию анонимный доступ на чтение # только rootdn может осуществлять запись # НЕТ ОТСЫЛОК # НЕ заботимся о файле ARGS, пока не обретём уверенности в своих силах # stop-скрипту slapd следующая строка необходима для работы: pidfile /var/run/slapd.pid # Включаем большое количество вывода в журнал - нам это может понадобиться # но при этом генерируются журналы огромных размеров loglevel -1 # НЕТ динамических модулей для механизмов манипуляции данными # НЕТ соединений TLS # Определение backend не требуется ####################################################################### # Определение ПЕРВОЙ базы данных bdb # для EXAMPLE.COM # Замените ниже example и com на подходящее имя домена # # Если у Вас нет домена, то, поскольку example.com зарезервирован для # экспериментов, можете оставить его, либо поменять на my.inc # ####################################################################### database bdb suffix "dc=example, dc=com" # root или администратор rootdn "cn=jimbob, dc=example, dc=com" rootpw dirtysecret # Директория базы данных ДОЛЖНА существовать до того, как Вы запустите slapd # Не забудьте поменять путь на подходящий Вам directory /var/db/openldap/example-com # Устанавливаемые для каталога индексы # Только полное соответствие для unique id index uid eq # Стандартный поиск для commonname, givenname и email index cn,gn,mail eq,sub # Несколько вариантов для поиска surname index sn eq,sub,subintial,subany,subfinal # Оптимизируем поиск по подразделениям index ou eq # Продемонстрировано использование параметра индексирования default index default eq,sub # Настройка индексирования пропущена, по умолчанию используется eq,sub index telephonenumber # Другие параметры базы данных # Дополнительная информация в разделе справочника по slapd.conf cachesize 10000 checkpoint 128 15 dbnosync dirtyread searchstack 5 ####################################################################### # Определение ВТОРОЙ базы данных bdb # для EXAMPLE.NET # Замените ниже example и net на подходящее имя домена # # Если у Вас нет домена, то, поскольку example.net зарезервирован для # экспериментов, можете оставить его, либо поменять на my.inc # ####################################################################### database bdb suffix "dc=example, dc=net" # root или администратор rootdn "cn=jimbob, dc=example, dc=net" rootpw dirtysecret # Директория базы данных ДОЛЖНА существовать до того, как Вы запустите slapd # Не забудьте поменять путь на подходящий Вам. Эта директория должна быть # отдельной от той, которая задана для первого раздела database directory /var/db/openldap/example-net # Устанавливаемые для каталога индексы # Только полное соответствие для unique id index uid eq # Оптимизируем поиск по подразделениям index ou eq # Продемонстрировано использование параметра индексирования default index default eq,sub # Настройка индексирования пропущена, по умолчанию используется eq,sub index telephonenumber # Другие параметры базы данных # Дополнительная информация в разделе справочника по slapd.conf cachesize 10000 checkpoint 128 15 dbnosync dirtyread searchstack 5
Очевидно, Вам придётся остановить и снова запустить сервер LDAP, чтобы этот новый файл был принят. Затем добавьте записи из показанного ниже LDIF с помощью ldapadd.
В этом LDIF подразумевается, что EXAMPLE.COM уже существует и нам нужно просто добавить EXAMPLE.NET.
# добавление example.net на существующий LDAP-сервер version: 1 dn: dc=example,dc=net dc: example description: Example Network Operations objectClass: dcObject objectClass: organization o: Example, Inc. dn: ou=people, dc=example,dc=net ou: people description: All people in organisation objectClass: organizationalUnit
В этом LDIF подразумевается, что мы добавляем сразу EXAMPLE.COM и EXAMPLE.NET.
# добавление example.com и example.net # ПЕРВЫМ добавляем example.com version: 1 dn: dc=example,dc=com dc: example description: Example Company objectClass: dcObject objectClass: organization o: Example, Inc. dn: ou=people, dc=example,dc=com ou: people description: All people in organisation objectClass: organizationalUnit # ВТОРЫМ добавляем example.net version: 1 dn: dc=example,dc=net dc: example description: Example Network Operations objectClass: dcObject objectClass: organization o: Example, Inc. dn: ou=people, dc=example,dc=net ou: people description: All people in organisation objectClass: organizationalUnit
Проблемы, комментарии, предположения, исправления (включая битые ссылки) или есть что добавить? Пожалуйста, выкроите время в потоке занятой жизни, чтобы написать нам, вебмастеру или в службу поддержки. Оставшийся день Вы проведёте с чувством удовлетворения.
Нашли ошибку в переводе? Сообщите переводчикам!
Copyright © 1994-2017 ZyTrax, Inc. Все права защищены. Последнее изменение страницы: 21 октября 2015 г.
Переведено участниками проекта Pro-LDAP.ru в 2012 г.