LDAP - упрощенный протокол доступа к директориям. Предназначен для
доступа к директориям X.500. Является упрощением протокола DAP.
Директория - это хранилище данных, которое содержит типизированную и
упорядоченную информацию об объектах. Примерами директорий являются
телефонный справочник и библиотечный каталог. Особенность директорий
состоит в том, что они чаще используются для чтения информации, чем
для ее записи и обновления. Как следствие этого, все операции на
директориях достаточно просты и не требуют поддержки сложного
механизма транзакций. Информация в директориях организована в
древовидную структуру.
Специфика директорий
Директории - специализированные БД
Оптимизированы для чтения и поиска
Не поддерживают транзакции
Хранят разнородные данные
Не поддерживают сложных запросов
Имеют иерархическую структуру
Архитектура LDAP
Информационная модель
Наименование записей
Функциональная модель
Безопасность
Архитектуру LDAP удобно рассматривать на основе четырех моделей:
Информационная - описывает структуру информации, хранящейся в
LDAP-директории
Наименование - описывает как организована и идентифицируется
информация в директориях
Функциональная - описывает операции, которые могут выполняться
на данных, хранящихся в директории
Безопасность - описывает как LDAP-директория может быть
защищена от несанкционированного доступа
Информационная модель LDAP
Записи, атрибуты и значения
Запись
Атрибут
Атрибут
Значение
Тип
Основной единицей информации, хранящейся в LDAP-директории, является запись. Записи состоят из набора атрибутов, которые содержат информацию об объекте. Атрибуты могут быть необязательными, т.е. запись может иметь такой атрибут, а может не иметь. Каждый атрибут имеет тип и одно или несколько значений. Тип атрибута определяет какого рода значения можно в нем хранить. Например, запись может иметь атрибут TelephoneNumber. Тип этого атрибута определяет, что его значениями могут быть телефонные номера. Атрибуты могут иметь несколько значений. Так, в нашем примере это будет означать, что лицо, представленное данной записью имеет несколько телефонов.
Тип атрибута определяет не только то, какие значения могут в нем храниться, но и некоторые аспекты операций над ними. Например, атрибут telephoneNumber имеет тип, который определяет, что:
Значения отсортированы в лексикографическом порядке
Регистр символов, пробелы и дефисы игнорируются при сравнениях
Значения должны быть представлены в виде символьных строк
Типы атрибутов могут также накладывать ограничения на количество значений, хранящихся в атрибуте. Например, атрибут creatorsname (имя создателя записи) может содержать не более одного значения.
Некоторые атрибуты могут иметь альтернативные имена. Так, например, для атрибута commonName (полное имя) существует сокращенная форма cn.
Каждый сервер может определять свои атрибуты. Однако, есть попытки стандартизировать некоторые наиболее часто используемые атрибуты. Предлагаемые стандарты описаны в следующих документах:
RFC 2256, A Summary of the X.500(96) User Schema for use with LDAPv3
Информационная модель LDAP
Схема objectClass aci objectClass aci с searchguide
description sn cn description telephonenumber userpassword
seealso objectClass aci aliasedobjectname
Каждый LDAP-сервер имеет свою схему. Схема описывает, какие атрибуты и классы объектов могут храниться в базе данных сервера. Каждая запись должна принадлежать одному или нескольким классам объектов. Класс объекта определяет, какие атрибуты запись может и должна содержать. Классы могут наследовать характеристики других классов. В таком случае класс-потомок наследует все атрибуты класса-предка.
На рисунке показана часть иерархии классов объектов. Окружностями обозначены классы. Внутри каждой окружности овал содержит имя класса, а прямоугольники - его атрибуты. Обязательные атрибуты обведены сплошной линией, необязательные - пунктирной. Толстой рамкой обведены унаследованные атрибуты.
6. Вопросы к контрольной работе
1. Приведите примеры приложений, которые используют функции сканирования и поиска (замены) лексем в файлах?
2. Как применить в данной работе системные программные средства, разработанные Вами при выполнении предыдущих лабораторных работ?
3. Перечислите все средства ОС и СПО, задействованные Вами в работе?
4. Что следует предпринять для повышения эффективности применения программных средств, использованных Вами в данной работе?
5. Какие альтернативные системные программные средства можно применить для выполнения данного задания?
6. Опишите (в общих чертах), как выглядит решение данного задания в виде команды ОС или системной утилиты, командного файла, скрипта или пакета скриптов, библиотеки функций, оболочки или других системных средств?
7. Предложите свой вопрос по теме контрольной работы и ответьте на него.