OpenLdap поиск по связанным полям

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
kharkov_max
капитан
Сообщения: 1861
Зарегистрирован: 2008-10-03 14:56:40

OpenLdap поиск по связанным полям

Непрочитанное сообщение kharkov_max » 2013-10-07 14:22:29

День добрый.

Есть некая база LDAP, в которой куча учеток, ищется по uid
У этих учеток есть алиасы, добавлены как отдельные объекты LDAP.
У учеток есть уникальные идентификаторы, которые есть в объектах алиасов.

Вопрос как можно осуществить поиск в ldap по алиасу, а получить связанный с алиасом объект?

Суть вопроса в следующем.
Есть маил сервер zimbra, с нему через Ldap привязана авторизация из инета через Apache.
Хочется через Apache проходить авторизацию не только по имени учетки, а и по ее алиасу.

На сколько я понимаю нужно как то правильно настроить фильтр в Apache, или может предложите другие варианты.

Спасибо.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

BlitzKrieg
ст. прапорщик
Сообщения: 538
Зарегистрирован: 2008-03-13 12:02:59

Re: OpenLdap поиск по связанным полям

Непрочитанное сообщение BlitzKrieg » 2013-10-28 8:23:48

Если я правильно все понял, то можно так:

Код: Выделить всё

ldapsearch -w password -h server -D cn=admin,ou="LdapAdmins",dc=web,dc=domain,dc=ru "(|(uid=blitzkrieg)(userPrincipalName=blitzkrieg@web.domain.ru))"
Но быстрее будет так:

Код: Выделить всё

ldapsearch -w password -h server -D cn=admin,ou="LdapAdmins",dc=web,dc=domain,dc=ru "(|(sAMAccountName=blitzkrieg)(userPrincipalName=blitzkrieg@web.domain.ru))"

Аватара пользователя
kharkov_max
капитан
Сообщения: 1861
Зарегистрирован: 2008-10-03 14:56:40

Re: OpenLdap поиск по связанным полям

Непрочитанное сообщение kharkov_max » 2013-10-28 9:39:40

BlitzKrieg писал(а):Если я правильно все понял, то можно так:

Код: Выделить всё

ldapsearch -w password -h server -D cn=admin,ou="LdapAdmins",dc=web,dc=domain,dc=ru "(|(uid=blitzkrieg)(userPrincipalName=blitzkrieg@web.domain.ru))"
Но быстрее будет так:

Код: Выделить всё

ldapsearch -w password -h server -D cn=admin,ou="LdapAdmins",dc=web,dc=domain,dc=ru "(|(sAMAccountName=blitzkrieg)(userPrincipalName=blitzkrieg@web.domain.ru))"
Пробовал - не пашет.
Алиас связан с учеткой только по уникальному идентификатору.
А в логин нужно подставить именно uid, а не другое поле, ну и собственно пароль взять тоже от учетки с uid

Т.е. нужно в фильтр подставить поиск по uid или по алиасу который вернет связанный uid (|(uide=blitzkrieg)(ищем по алиасу, но получаем связанный uid)

Как то так ...

BlitzKrieg
ст. прапорщик
Сообщения: 538
Зарегистрирован: 2008-03-13 12:02:59

Re: OpenLdap поиск по связанным полям

Непрочитанное сообщение BlitzKrieg » 2013-10-28 9:57:03

Как-то так?

Код: Выделить всё

ldapsearch -w password -h server -D cn=admin,ou="LdapAdmins",dc=web,dc=domain,dc=ru "(|(uid=blitzkrieg)(userPrincipalName=blitzkrieg@web.domain.ru))" uid
На винде первый из предложенных вариантов с sAMAccountName который работает ощутимо быстрее второго. А содержание одинаковое, так смысл тогда искать по uid.

BlitzKrieg
ст. прапорщик
Сообщения: 538
Зарегистрирован: 2008-03-13 12:02:59

Re: OpenLdap поиск по связанным полям

Непрочитанное сообщение BlitzKrieg » 2013-10-28 11:21:25

Вобщем на примере покажи чего надо :-)