LDAP: упрощенный протокол доступа к каталогам
Категория: Совместное использование конфигов | Автор: admin | 15-05-2010, 22:34 | Просмотров: 3427

Организациям, использующим UNIX, необходим надежный способ распространения своих административных данных. Но проблема в действительности более глобальна. Как быть с неадминистративными ресурсами, например с телефоном и каталогами электронной почты? Как контролировать информацию, которую нужно предоставить внешнему миру? Решение, устраивающее всех, заключается в унифицировании службы каталогов.

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

  • информационные объекты относительно невелики;
  • база данных будет реплицироваться и кэшироваться на множество компьютеров;
  • у информации есть атрибуты;
  • данные извлекаются часто, но записываются редко;
  • операции поиска выполняются очень часто.

Текущая стандартная система, предложенная организацией IETF для этих целей, называется LDAP (Lightweight Directory Access Protocol — упрощенный протокол доступа к каталогам). В спецификациях LDAP говорится не о самой базе данных, а лишь о том, как получить к ней доступ по сети. В то же время заданы схемы организации данных и осуществления поиска, т.е. подразумевается достаточно четкая модель данных.

История LDAP едва ли напоминает красивую сказку. Она ведет свое начало от модели OSI — мертворожденного семейства сетевых протоколов ошибочно принятого в качестве международного стандарта в середине 80-х гг. Модель OSI в целом потерпела крах, но отдельные ее протоколы получили шанс на "загробную жизнь", будучи включенными в "мутировавшем" виде в стек TCP/IP. Одним из них был протокол сетевого управления CMIP (Common Management Information Protocol — протокол общей управляющей информации); за ним следовал LDAP.

Изначально LDAP был задуман как простой шлюзовый протокол, который позволял бы клиентам TCP/IP взаимодействовать с серверами каталогов X.500, работающими в OSI-системах. Со временем стало очевидно, что стандарт X.500 умирает и в UNIX необходима какая-то стандартная служба каталогов. Все это привело к тому, что из LDAP получилась совершенно самостоятельная, полноценная система управления каталогами (возможно, буква L в названии стоит незаслуженно).

На время работы над книгой процесс разработки все еще находился в промежуточной стадии. Наиболее распространенной версией LDAP является версия 2, где недостает множества элементов, которые могут потребоваться в будущем для того, чтобы сделать LDAP такой же функциональной и надежной системой, как, скажем, DNS. Даже версия 3, еще не принятая в качестве стандарта, имеет ряд значительных недостатков. Если не считать некоторых специфических областей применения (телефонные книги в Internet, конфигурирование псевдонимов sendmail, определенные справочные службы), реальное распространение протокола LDAP все еще ограничено.

К сожалению, протокол LDAP успел стать удобной мишенью для всякого рода спекуляций. Подобно технологии Java в середине 90-х гг., на тему LDAP было выпущено слишком много пресс-релизов, звучали клятвенные заверения в поддержке и любви до гроба, но в результате получилось слишком мало программного кода. А пока нам остается сидеть на берегу моря, наслаждаться восходом и ждать появления прекрасной Венеры.

Трудно предсказать, будет ли от развития протокола LDAP реальная помощь системным администраторам. Протокол еще не сумел найти свою нишу. Мы советуем избрать тактику "внимательного наблюдения".

 

Документация и спецификации LDAP

 

В настоящее время наилучшим введением в LDAP является брошюра Understanding LDAP, написанная Хайнцом Йонером (Heinz Johner) с соавторами для международной службы технической поддержки компании IBM. Ее можно загрузить в формате PDF на узле www.redbooks.ibm.com. Части, касающиеся библиотек функций языка С, можно проигнорировать; все остальное — полезная информация для системных администраторов.

Существует множество документов RFC, посвященных протоколу LDAP. Важнейшие из них перечислены в табл. 18.5. Многие упомянутые здесь документы относятся к версии 3 протокола; у них есть эквиваленты и для версии 2. Как видно из названий документов, большинство объектов и транзакций LDAP может быть представлено в текстовом виде, что является одной из наиболее приятных особенностей протокола. Можно легко генерировать запросы из сценария или организовывать шлюзы к другим протоколам, в частности к HTTP.

Таблица 18.5. Документы RFC, посвященные протоколу LDAP

RFC

Название

1777

Lightweight Directory Access Protocol (v2)

2251

Lightweight Directory Access Protocol (v3)

2252

LDAPv3: Attribute Syntax Definitions

2253

LDAPv3: UTF-8 String Representation of Distinguished Names

2254

The String Representation of LDAP Search Filters

2255

The LDAP URL Format

2256

A Summary of the X.500 User Schema for Use with LDAPv3

2307

An Approach for Using LDAP as a Network Information Service

 

В документе RFC2307 предлагаются способы привязки традиционных для UNIX наборов данных, в том числе файлов passwd и group, к пространству имен LDAP. Этот документ носит пометку "экспериментальный", что является наглядным свидетельством того, сколь далеки мы от момента, когда протокол LDAP станет реальной заменой таким системам, как NIS и NIS+.

 

Практическое применение протокола LDAP

 

Протокол LDAP был реализован университетом штата Мичиган, компанией Netscape и рядом других организаций. Лучшее из современных решений — система OpenLDAP. Ее реализацией занимается группа OpenLDAP (www.openldap.org), которая унаследовала код мичиганского университета. К середине 2000 г. почти не было документации, посвященной работе с OpenLDAP. Краткое руководство, имеющееся на Web-узле, поможет инсталлировать и запустить систему, но в нем нет информации о том, как ее настраивать или отлаживать.

 

В дистрибутив OpenLDAP входит стандартный серверный демон slapd, а также демон slaprd, управляющий репликацией (напоминает механизм подчиненных серверов NIS). Сетевая структура представляется в иерархическом виде независимо от того, являются ли таковыми сами данные. Только когда протокол LDAP версии 3 будет полностью введен в действие, мы перейдем к полноценным иерархическим системам.

Если кому-то нужно использовать LDAP для распространения конфигурационной информации (хотя мы пока не рекомендуем этого делать), то в настоящее время существуют два способа решения данной задачи. Первый вариант — применить программу ypldapd, продаваемую компанией PADL Software и реализующую шлюз между LDAP и NIS. Этот демон извлекает из LDAP информацию о пользователях, группах и узлах и выдает себя за сервер NIS, передавая данные ничего не подозревающим клиентам NIS. К сожалению, лицензия стоит слишком дорого даже для некоммерческих организаций. Дополнительную информацию можно получить на Web-узле www.padl.com.

Второй вариант — встроить поддержку LDAP в библиотеку функций языка С, с тем чтобы LDAP можно было указывать в файле /etc/nsswitch.conf наряду с другими источниками информации. Компания PADL предлагает бесплатный пакет nss_ldap, реализующий данный подход. Но, как и в случае любого другого изменения стандартных библиотек, степень требуемого программистского вмешательства оказывается излишне высокой. Есть также пакет pam_ldap, позволяющий использовать протокол LDAP совместно с подключаемыми модулями аутентификации.


 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page