LDAP
Материал из Xgu.ru
LDAP (Lightweight Directory Access Protocol) —
легковесный протокол для доступа к службе каталога,
то есть, к иерархической системе управления базами данных (СУБД). Облегченный и незначительно переработанный потомок мёртворождённого протокола DAP.
Каталоги отличаются тем, что они:
- Хорошо масштабируются в силу своей иерархичности;
- Хорошо справляются с запросами на чтение в сравнении с запросами на запись.
В 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 for Rocket Scientists(англ.) — Open Source Guide по LDAP (OpenLDAP 2.x, ApacheDS, Fedora Directory Server, OpenDS)
- ldp: LDAP Distributed shell-Profile (англ.) — хранение профилей оболочек (shell profile) в LDAP
[править] Хранение конфигурации различных программ в LDAP
- Using LDAP For Aliases, Maps, And Classes (англ.) — алиасы, карты и классы для Sendmail
[править] Примечания
[править] Материалы по LDAP на xgu.ru
- LDAP
- Схема LDAP
- LDAP-репликация и Samba
- Squid и LDAP
- Sudo и LDAP
- Jabber и LDAP
- Apache и LDAP
- RADIUS и LDAP
- Asterisk и LDAP
- man-страницы:
- man:ldapadd — добавление записей
- man:ldapdelete — удаление записей
- man:ldapmodify — модификация записей
- man:ldapmodrdn — переименование записей
- man/ldapsearch — поиск записей
Серверы LDAP: