LDAP: Определение корневой записи или суффикса в формате X.500

Запись самого верхнего уровня в LDAP DIT (Directory Information Tree, информационном дереве каталога) в мире LDAP неоднозначно называется корневой (root), базовой (base) или суффиксом (suffix), в зависимости от документации, её автора, дня недели или каких-либо других переменных величин, доподлинно нам не известных.

Термин Root DSE определяет своего рода супер-корневую запись (суффикс), содержащую определения всех DIT, поддерживаемых сервером LDAP (в операционном атрибуте namingContexts), а также другие операционные объекты.

Существует несколько методов определения корневой записи или суффикса.

На этой странице описывается метод, основанный на подходе X.500. В нём используется ou=name, c=country (хотя никаких формальных стандартов определения корневой записи или суффикса X.500 не существует).

Как нам кажется, самый простой способ — использовать структурный объектный класс organizationalUnit, у которого всего один обязательный атрибут ou (organizationalUnitName), и специальный объектный класс extensibleObject для добавления атрибута c (country). Фрагмент LDIF для добавления корневой записи или суффикса:

## ОПРЕДЕЛЯЕМ DIT ROOT/BASE/SUFFIX ####
## используется формат X.500
## замените example inc. и us любым подходящим текстом

## organizationalUnit - это СТРУКТУРНЫЙ объектный класс
#  требующий только наличия атрибута ou (organizationalUnitName)
#  но не содержащий c (country), который добавляется
#  с помощью extensibleObect
# это последовательность ЗАПИСИ и ей предшествует ПУСТАЯ СТРОКА

dn: ou=Example Inc.,c=us
ou: Example Inc.
objectclass: organizationalUnit
description: Необязательное описание. Определение корневой записи или суффикса X.500. В эту строку можно поместить столько текста, сколько хотите
 в этой строке продолжение информации из предыдущей строки вплоть до 32Kb 
 строка оканчивается либо на <CR>, либо на <CR><LF>, то есть отрабатывается ENTER
 с систем как Windows, так и *nix - новая строка ДОЛЖНА начинаться с ОДНОГО ПРОБЕЛА
objectClass: extensibleObject
c: us

Примечания:

  1. Строки c: us и objectClass: extensibleObject могут быть исключены из этого фрагмента LDIF, и LDAP продолжит работу как ни в чём не бывало, хотя полнота определения будет потеряна. Большинство серверов LDAP не выполняют проверки того, присутствуют ли значения атрибутов, составляющие DN (RDN), в определении записи.
  2. Официально, чтобы соответствовать реальному названию организации, Example Inc. должен записываться как Example, Inc. Если используется такой формат, то запятая, к каком бы месте DN она не встретилась, должна экранироваться следующим образом: Example\, Inc.,c=us, то есть мы вынуждены прикладывать дополнительные усилия без всякой отдачи.

Если в OpenLDAP используется динамическая конфигурация OLC (cn=config), следует указать ou=Example Inc.,c=us в качестве значения атрибута olcSuffix соответствующей записи olcDatabase. При использовании конфигурационного файла slapd.conf, нужно указать suffix "ou=Example Inc.,c=us" в разделе database.

В файле server.xml ApacheDS нужно указать suffix="ou=Example Inc.,c=us" в разделе <partitions><jdbmPartition ...>.

Добавление последующих записей показано в данном фрагменте LDIF:

## ПЕРВЫЙ уровень иерархии - люди (people) 
## для объектных классов используется смешанная форма записи в верхнем и нижнем регистре
# это последовательность ЗАПИСИ, она должна предваряться ПУСТОЙ строкой

dn: ou=people, ou=Example Inc.,c=us
ou: people
description: All people in organisation
objectclass: organizationalunit

## ВТОРОЙ уровень иерархии
## ДОБАВЛЯЕМ одну запись в ПЕРВЫЙ уровень (people)
# это последовательность ЗАПИСИ, она должна предваряться ПУСТОЙ строкой
# ou: Human Resources - это название подразделения

dn: cn=Robert Smith,ou=people, ou=Example Inc.,c=us
objectclass: inetOrgPerson
cn: Robert Smith
cn: Robert J Smith
cn: bob  smith
sn: smith
uid: rjsmith
userpassword: rJsmitH
carlicense: HISCAR 123


Проблемы, комментарии, предположения, исправления (включая битые ссылки) или есть что добавить? Пожалуйста, выкроите время в потоке занятой жизни, чтобы написать нам, вебмастеру или в службу поддержки. Оставшийся день Вы проведёте с чувством удовлетворения.

Нашли ошибку в переводе? Сообщите переводчикам!

Copyright © 1994-2017 ZyTrax, Inc. Все права защищены. Последнее изменение страницы: 4 марта 2016 г.
Переведено участниками проекта Pro-LDAP.ru в 2012-2017 г.