Конфигурирование нескольких DIT в OpenLDAP

Каждое DIT описывается в разделе database файла slapd.conf. При определении нескольких разделов database на одном сервере каталогов будет определено несколько DIT. Каждое DIT является отдельным и имеет свой собственный контекст именования (или пространство имён). Предположим, мы хотим создать на одном LDAP-сервере следующую структуру:

Несколько DIT

slapd.conf

#
###### НЕСКОЛЬКО 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

В этом 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-2014 ZyTrax, Inc. Все права защищены. Последнее изменение страницы: 17 сентября 2013 г.
Переведено участниками проекта Pro-LDAP.ru в 2012 г.