The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Сети, протоколы, сервисы" / Оглавление документа

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

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

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

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

На этой странице описывается метод, основанный на RFC 2247 (доменных именах). В дальнейших рассуждениях подразумевается, что доменное имя рассматриваемой организации — example.net, трансформирующееся в корневой DN (базовый DN или суффикс) dc=example, dc= net.

В RFC определено два разных подхода реализации данного метода. Один из них использует структурный объектный класс domain. Однако, гораздо более широкое распространение получил подход с использованием вспомогательного объектного класса dcObject совместно со структурным объектным классом organization, имеющим всего один обязательный атрибут o (organizationName), хотя с тем же успехом можно использовать структурный объектный класс organizationalUnit с обязательным атрибутом ou. Фрагмент LDIF для добавления корневой записи или суффикса:

## ОПРЕДЕЛЯЕМ DIT ROOT/BASE/SUFFIX ####
## используется формат RFC 2247 с объектным классом dcObject
## замените встречающиеся ниже example и net на требуемые компоненты домена

## dcObject - это ВСПОМОГАТЕЛЬНЫЙ объектный класс и, кроме него, запись
## ДОЛЖНА иметь СТРУКТУРНЫЙ объектный класс (в данном случае, organization)
# это последовательность ЗАПИСИ и ей предшествует ПУСТАЯ СТРОКА

dn: dc=example,dc=net
dc: example
description: Необязательное описание. Определение корневой записи или суффикса RFC 2247. В эту строку можно поместить столько текста, сколько хотите
 в этой строке продолжение информации из предыдущей строки вплоть до 32Kb 
 строка оканчивается либо на <CR>, либо на <CR><LF>, то есть отрабатывается ENTER
 с систем как Windows, так и *nix - новая строка ДОЛЖНА начинаться с ОДНОГО ПРОБЕЛА
objectClass: dcObject
objectClass: organization
o: Example, Inc.

## ОПРЕДЕЛЯЕМ DIT ROOT/BASE/SUFFIX ####
## используется формат RFC 2247 с объектным классом domain
## замените встречающиеся ниже example и net на требуемые компоненты домена

## domain - это СТРУКТУРНЫЙ объектный класс
# это последовательность ЗАПИСИ и ей предшествует ПУСТАЯ СТРОКА

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

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

В файле server.xml ApacheDS нужно указать suffix="dc=example,dc=net" в разделе <partitions><jdbmPartition ...>.

Примечания:

  1. На первый взгляд это выглядит как значение с несколькими RDN, но на самом деле создаётся одна запись с DN dc=example,dc=net. Большинство серверов LDAP не выполняют проверки того, присутствуют ли значения атрибутов, составляющие DN (RDN), в определении записи.

  2. Если в доменном имени несколько меток ccTLD, как, например, в example.net.br, соответственно нужно использовать такой фрагмент:

    ## ОПРЕДЕЛЯЕМ DIT ROOT/BASE/SUFFIX ####
    ## используется формат RFC 2247
    ## замените встречающиеся ниже example и net на требуемые
    ## или, для экспериментов, оставьте как есть
    
    ## dcObject - это ВСПОМОГАТЕЛЬНЫЙ объектный класс и, кроме него, запись
    ## ДОЛЖНА иметь СТРУКТУРНЫЙ объектный класс (в данном случае, organization)
    # это последовательность ЗАПИСИ и ей предшествует ПУСТАЯ СТРОКА
    
    dn: dc=example,dc=net, dc=br
    dc: example
    description: Необязательное описание. Определение корневой записи или суффикса RFC 2247. В эту строку можно поместить столько текста, сколько хотите
     в этой строке продолжение информации из предыдущей строки вплоть до 32Kb 
     строка оканчивается либо на <CR>, либо на <CR><LF>, то есть отрабатывается ENTER
     с систем как Windows, так и *nix - новая строка ДОЛЖНА начинаться с ОДНОГО ПРОБЕЛА
    objectClass: dcObject
    objectClass: organization
    o: Example, S.A.
    

    Соответствующие настройки в olcSuffix (или в slapd.conf) OpenLDAP и server.xml ApacheDS будут suffix "dc=example,dc=net,dc=br".

Расширение DIT

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

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

dn: ou=people, dc=example,dc=net
ou: people
description: All people in organisation
objectclass: organizationalunit

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

dn: cn=Robert Smith,ou=people, dc=example,dc=net
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 г.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру