LDAP

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.


LDAP (Lightweight Directory Access Protocol) — легковесный протокол для доступа к службе каталога, то есть, к иерархической системе управления базами данных (СУБД). Облегченный и незначительно переработанный потомок мёртворождённого протокола DAP.

Каталоги отличаются тем, что они:

  1. Хорошо масштабируются в силу своей иерархичности;
  2. Хорошо справляются с запросами на чтение в сравнении с запросами на запись.

В UNIX/Linux-системах каталоги (и LDAP, как протокол доступа к ним) получили распространение для хранения системной информации, такой, например, как учётные записи пользователей и служебных настроек.

Одним из наиболее распространённых LDAP-серверов в UNIX/Linux-системах является OpenLDAP.

В Windows LDAP-сервер встроен в ActiveDirectory.

Содержание

[править] Пример обращения к службе каталога

Пример обращения к службе каталога по протоколу LDAP с помощью утилиты ldapsearch.

%# # ldapsearch -W -x -D cn=admin,dc=mydc,dc=com -b "dc=mydc,dc=com" "(ou=People)"
Enter LDAP Password: 
# extended LDIF
#
# LDAPv3
# base <dc=mydc,dc=com> with scope sub
# filter: (ou=People)
# requesting: ALL
#

# People, mydc.com
dn: ou=People,dc=mydc,dc=com
objectClass: top
objectClass: organizationalUnit
ou: People

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Аутентифицироваться при подключении к каталогу под именем cn=admin,dc=mydc,dc=com, использовать простую аутентификацию (-x), спросить пароль (-W).

Результат выполнения команды ldapsearch представлен в формате LDIF (LDAP Interchange Format). В этом формате записи представляются как набор полей, каждое из которых записывается в отдельном поле в виде пары:

имя_поля:значение_поля

Найденная запись содержит поля dn, objectClass и ou и выглядит так:

dn: ou=People,dc=mydc,dc=com
objectClass: top
objectClass: organizationalUnit
ou: People

Доступ к каталогу осуществляется от имени cn=admin,dc=mydc,dc=com, которое называется именем привязки (bind name). Имя привязки это полное имя (DN, distinguished name) учётной записи в каталоге пользователя, от имени которого будет производиться работа с каталогом.

[править] Фильтры

И:

   (& () ())
   (& (objectClass=user) (sn=simpson))

ИЛИ:

   (| () ())
   (| (sn=simpson) (sn=s*))

НЕ:

   (!())
   (!(sn=simpson))

Пример использования:

   "(&(objectClass=user)(sn=L*))"

objectClass равен user, и sn начинается с L.

[править] Пример отображения атрибутов Active Directory на UNIX

(Убрать на страничку по интеграции UNIX и Windows)

Содержание ldap.conf[1]:

# Information about the directory
uri ldap://192.168.1.151
binddn ldap@ertw.com
bindpw ldap
ssl no
base dc=ertw,dc=com

# Map attributes
nss_map_objectclass posixAccount user
nss_map_objectclass shadowAccount user
nss_map_attribute uid sAMAccountName
nss_map_attribute homeDirectory unixHomeDirectory
nss_map_attribute shadowLastChange pwdLastSet
nss_map_objectclass posixGroup group
nss_map_attribute uniqueMember member
pam_login_attribute sAMAccountName
pam_filter objectclass=User
pam_password ad

[править] Дополнительная информация

[править] Хранение конфигурации различных программ в LDAP

[править] Примечания

  1. https://www6.software.ibm.com/developerworks/education/l-lpic3305/section6.html

[править] Материалы по LDAP на xgu.ru

Серверы LDAP:

Источник — «http://xgu.ru/wiki/LDAP»