The OpenNET Project / Index page

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

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

Глава 14. Инструменты LDAP

  1. Инструменты OpenLDAP — утилиты командной строки
  2. LDAPBrowser/Editor — LDAP браузер, которым пользуемся мы
  3. Инструменты ApacheDS — инструменты и утилиты

Примечание: В последнее время многие используют в качестве LDAP-клиента и браузера общего назначения гибкий и мощный Apache Directory Studio. Что ж, это прекрасный выбор. Мы же склонны придерживаться LDAPBrowser/Editor — название уж больно хорошее. Трюки новые, а пёс-то старый...

LDAPBrowser/Editor

Существует ряд Open Source LDAP-браузеров. Мы выбрали LDAPBrowser/Editor без всякого веского основания, за исключением того, что он маленький и легковесный, основанный на Java и, следовательно, может запускаться на разных платформах, как, впрочем, и многие другие браузеры. LDAPBrowser/Editor не поддерживается уже несколько лет и доступен только в виде исходного кода для образовательных учреждений - но он прост, функционально адекватен и необычайно надёжен (хотя насчёт работы с LDIF, если Вам требуется что-то большее, чем простейшие базовые функции, поведение его может быть своеобразным).

Примечание: Имейте ввиду, что Argonne Labs (текущее расположение LDAP Browser/Editor) теперь сделал данное программное обеспечение доступным через OpenChannel Foundation, который взимает плату (в настоящий момент $35) за каждую копию. Мы оставили нижеследующую информацию здесь для всех исторических пользователей, а также для новых пользователей в случае, если данное программное обеспечение вернётся в наш мир. Любой из альтернативных LDAP-браузеров является вполне разумной заменой.

LDAP Browser/Editor может быть немного причудливым, поэтому следующие заметки выполнены лишь с целью раскрыть некоторые из его наиболее эзотерических характеристик, а не быть руководством пользователя - справочная система браузера необычайно хороша, кроме того, есть несколько полезных HTML-страниц документации. Но... нам потребовались эти заметки при:

печати и сохранении,
создании и использовании шаблонов,
чтении операционных атрибутов при соединении (rootDSE, subschema, cn=monitor, cn=config) и
доступе к cn=config.

Печать и сохранение

У LDAPBrowser нет функции печати. Если Вам нужно сохранить или распечатать результаты, выберите требуемые записи в правой или левой панели. Кликните по иконке copy, а затем вставьте в подходящую утилиту, такую как Notepad на Windows или kedit в KDE, либо подобную текстовую утилиту. Затем редактируйте, сохраняйте или печатайте, как Вам нужно.

Создание шаблонов

Система шаблонов очень гибкая, но в ней нужно разбираться. Чтобы создать шаблон, выполните следующие действия:

  1. Выберите любую запись в текущем DIT, использующую тот же объектный класс, что и шаблон, который Вы хотите создать - в этом примере мы выбрали запись, использующую inetOrgPerson:

    Подсказка: Выбирайте запись с максимальным количеством атрибутов, поскольку шаблон сохраняет только атрибуты той записи, на которой он основан (в шаге 7 дан метод ручного редактирования шаблона).

  2. Выберите меню Edit, пункт Create Template:

  3. LDAPBrowser предложит имя шаблона на основании имени объектного класса - соглашайтесь или отредактируйте его по своему желанию, затем нажмите Create:

  4. Чтобы использовать шаблон, выберите в DIT запись, в которую Вы хотите добавить новую дочернюю запись, в данном примере мы будем добавлять в ou=people:

  5. Выберите меню Edit, пункт Add Entry, а затем выберите шаблон, на основании которого Вы хотите создать новую запись - в данном примере мы используем только что созданный шаблон inetOrgPerson:

  6. Откроется окно, содержащее все атрибуты из сохранённого шаблона. Заполните необходимые поля, затем выберите Apply:

  7. Шаблоны сохраняют объектный класс и атрибуты записи, на которой они основаны. Если Вам нужно добавить дополнительные атрибуты, можете использовать меню Edit, Add Attribute..., либо отредактировать файл шаблона. Файл шаблона для inetOrgPerson показан ниже (сохранён в templates/template-name.template в директории приложения LDAPBrowser). Просто добавьте имена требуемых атрибутов под заголовки Required или Optional (LDAPBrowser не проверяет атрибуты Required):

    # name : inetOrgPerson
    #
    # objectClass : inetOrgPerson
    #
    
    PREFIX: cn
    
    REQUIRED ATTRIBUTES
    
    OPTIONAL ATTRIBUTES
    sn
    userPassword
    ou
    carLicense
    mail
    uid
    homePhone
    cn
    description
    
    

Операционные атрибуты при соединении

При доступе к rootDSE, subSchema, cn=monitor и особенно cn=config, при соединении Вам может понадобиться читать пользовательские и операционные атрибуты - по умолчанию LDAPBrowser отображает только пользовательские атрибуты. Мы не нашли другого способа, кроме использования функции сессии (файл .cfg) для получения операционных данных (конечно, Вы всегда можете использовать ldapsearch).

Следующие три файла .cfg позволяют отображать rootDSE, subschema (все пользовательские и операционные атрибуты) и subSchema (только коллекция объектных классов) в общем случае для localhost. Они сохраняются в директорию приложения LDAPBrowser и будут отображаться при загрузке приложения или при выборе File->Connect. Можно отредактировать нужные Вам поля, используя обычный текстовый редактор, сохранить файл, а затем использовать его для Вашего сервера, а можно воспользоваться функцией LDAPBrowser session edit. Первый файл .cfg file (показан ниже) просто отобразит значения rootDSE (просмотреть файл .cfg отдельно):

#################################
#                               #
# LDAP Browser v2.8 config file #
#                               #
#  rootDSE                      #
#                               #
#################################

# хост ldap-сервера - измените
# или используйте функцию edit в LDAPBrowser
host=localhost

# порт ldap-сервера
port=389

# ssl-порт ldap-сервера (если есть)
sslport=636

# base dn для rooDSE пуст
basedn=

# настройка номера версии ldap [2|3]
version=3

# dn менеджера каталога (rootDSE is anonymous read)
managerdn=

# пароль менеджера каталога (N/A)
password=

# подключаться от учётной записи менеджера [yes|no]
managerlogin=no

# должно ли соединение устанавливаться
# автоматически [yes|no]
autoconnect=no

# тип поддерживаемого индикатора
# листовых узлов [int | boolean ]
leafindicatortype=int

# имя индикатора листовых узлов
# корректный атрибут - обычно операционный атрибут
# примечание: работает только с серверами LdapV3!
leafindicator=numsubordinates

# максимальное количество результатов
# 0 или не определено - без ограничений
# limit=0

# размер пакета 
# 0 или не определено - все записи возвращаются сразу
# batchsize=0

# таймаут операций ldap в миллисекундах
# 0 или не определено - таймаут не установлен
# timeout=0

# управление отсылками [yes|no]
# при установке в no отсылки возвращаются как нормальные записи
managereferrals=no

# установите в yes если Ваш ldap-сервер
# поддерживает перемещение дерева в DIT
supportsmovetree=no

# опция 'derefrence alias' (разыменование псевдонимов)
# [never|alwyas|search|find]
derefaliases=never

# сохранять или удалять старый rdn
# при переименовании записи
deleteolddn=yes

# порядок сортировки дерева DIT
# если не определено, сортировка не выполняется
# иначе сортируется по возрастанию или убыванию [ascending|descending]
sorttree=ascending

# используется для исправления положения окон
# на экране. связано с ошибками java
# fixlocation = 10

# размер буфера окна ошибок
# (в байтах), по умолчанию 2048
# logsize=2048

# показывать окно ошибок при возникновении
# ошибки. [yes|no], по умолчанию: no
# popuperrorwindow=no

# ldap-фильтр для построения древовидной
# структуры. по умолчанию: (objectclass=*)
# ldap.list.filter=(objectclass=*)

# список атрибутов, получаемых при каждом чтении
# полезно для указания операционных атрибутов
# (разделённых пробелами). данная строка используется 
# для получения всех (пользовательских и операционных) атрибутов
ldap.attributes.list=* +


##########################
# Настройки БЕЗОПАСНОСТИ #
##########################

# настройка защищённых протоколов
# варианты [ssl|gssapi?]
# security.protocol=ssl

# настройка аутентификации
# варианты [simple|external]
# security.authentication=simple

# настройка socket factory
# варианты javax.net.ssl.SSLSocketFactory
# ldapsocketfactory=javax.net.ssl.SSLSocketFactory


Аналогичный процесс используется для отображения всех операционных атрибутов в subschema (посмотреть файл .cfg). Для иллюстрации использования дополнительных опций мы приводим файл, который настраивает программу на отображение только коллекции объектных классов в subschema (посмотреть файл .cfg).

Мы используем аналогичную настройку сессии для доступа к операционным атрибутам cn=config (дополнительная информация и настройка cn=config), это просто необходимо, поскольку все интересные данные содержатся в операционных атрибутах. Посмотрите файлы cn=config.cfg и cn=monitor.cfg, затем можете сохранить их, используя функцию 'save as' Вашего браузера, и отредактировать под свои нужды с помощью любимого текстового редактора.

Если Вы сохранили приведенные выше файлы .cfg без редактирования, их можно изменить во время работы, используя следующую процедуру:

  1. При загрузке LDAPBrowser/Editor отображаются текущие конфигурационные файлы сессий, как показано:

    Выберите требуемую сессию и нажмите кнопку Edit.

  2. Отредактируйте поле Host и другие необходимые переменные:

    Нажмите кнопку Save.

  3. Нажмите кнопку Connect:

  4. При подсоединении LDAPBrowser/Editor отображает RootDSE в левой панели. Дважды кликните по этой записи, чтобы отобразить атрибуты в правой панели, как показано:

    Для распечатки и сохранения переменных используйте описанную выше процедуру.

Наверх

Доступ к cn=config

Предполагается, что Вы создали файл сессии для cn=config с помощью приведённой выше процедуры. Затем, для отображения и использования cn=config DIT, выполняйте следующие действия:

Примечание: Мы получили письмо, в котором говорилось, что, при попытке разумного ограничения доступа к базе данных cn=config (которая, кроме всего прочего, может быть объектом атак) с помощью комплексных ACL в некоторых "некоробочных" установках LDAP, доступ к cn=config утрачивался. Если описанная ниже процедура не работает, Вам либо придётся использовать ldapsearch, либо внимательно читать документацию по установке чтобы выяснить, что же произошло.

  1. Выберите сессию cn=config и нажмите Connect.

  2. Начальная запись cn=config отображает секцию глобальных настроек старого файла slapd.conf, за исключением ModuleLoad (в поддереве cn=module) и подключаемых схем (в поддереве cn=schema).

  3. Запись olcDatabase={1}bdb отображает секцию настроек одного экземпляра базы данных bdb.

  4. Запись cn=module отображает загруженные в настоящий момент модули - в данном случае back_bdb, back_monitor и back_meta. OpenLDAP автоматически выделяет для каждого механизма манипуляции данными уникальный индекс, нумеруя их от {0}, например, {1}back_monitor.so в приведённом ниже скриншоте. Для каждого типа механизма манипуляции данными определяется один экземпляр модуля, и, если он включен, то может использоваться для создания нескольких экземпляров баз данных.

  5. Для иллюстрации использования возможностей cn=config мы добавим новый механизм манипуляции данными. Выберите Edit и Add Attribute...

    Прежде чем определить базу данных, Вы должны добавить механизм манипуляции данными, которому она будет принадлежать.

  6. Вам будет предложено ввести имя того атрибута, который Вы хотите добавить, в данном случае olcModuleLoad. Выберите соответствующий тип атрибута, в данном случае string. Нажмите OK.

  7. Затем будет предложено ввести значение атрибута, имя которого Вы вводили на предыдущем экране. Просто введите название механизма манипуляции данными (в данном случае back_hdb.la) - OpenLDAP сам выделит уникальный индекс при добавлении атрибута. Нажмите Apply.

  8. На данном скриншоте показано, что атрибут был успешно добавлен. OpenLDAP добавил back_hdb.la в список атрибутов olcModuleLoad и назначил ему следующий свободный уникальный индекс {3}back_hdb.la.

  9. Следующая последовательность скриншотов показывает добавление нового экземпляра базы данных (секция database на жаргоне slapd.conf). Создайте шаблон из существующего экземпляра требуемого типа базы данных - в данном случае мы будем использовать bdb - поэтому мы создаём шаблон из olcDatabase={1}bdb. Требуемые атрибуты olcBdbConfig описаны здесь.

Наверх



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

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

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




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

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