ejabberd + AD (ldap) (как понять логику работы mod_shared_roster_ldap)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

TonnyBennet
Сообщения: 230
ОС: Ubuntu Server 9.10

ejabberd + AD (ldap)

Сообщение TonnyBennet »

Здравствуйте.

Есть комп с Ubuntu Server. Из репозитория поставил ejabberd. Настроил авторизацию клиентов на сервере AD - всё заработало. Теперь хочу что бы у всех сотрудников компании в списке контактов были все коллеги, разбитые по группам (отделам).
Бьюсь с mod_shared_roster_ldap уже не первый день, ничего более чем просто вытащить все контакты не получилось. Помогите разобраться с следующими вопросами:

1. С структурой БД ldap я ранее не сталкивался и мне крайне сложно понять как эта штука в принципе всё хранит и какие параметры содержат объекты внутри неё. Подскажите может есть статьи в которых достаточно просто описаны принципы работы ldap.

2. Насколько я понял, весь функционал mod_shared_roster_ldap сводится к тому, что одним фильтром из базы ldap выбираются группы, вторым запросом выгружаются нормальные названия этих групп, пользователи и т.д.
Подскажите есть ли какое-нибудь ПО при помощи которого можно отлаживать эти фильтры? (что-то вроде mysql -p, что б из консоли можно было обращаться в базу)

3. В сети встречал несколько упоминаний о том, что есть какой-то совершенствованный модуль. Но статьи эти трёх или двухлетней давности. Подскажите как понять какая версия модуля установлена у меня?

4. Также встречал записи о том, что скорее всего не получится получать названия групп и всех её пользователей по подразделению (OU= ). Но именно такую схему мне и хотелось бы реализовать. Сейчас в тестовой версии AD созданы несколько пользователе и две группы: jabber-IT и jabber-Accountants. Все пользователи добавлены в свои группы.

Попробовал адаптировать пример под свою конфигурацию. Ничего не работает. Списки пустые.

Код:

{mod_roster, []}, {mod_shared_roster_ldap, [ {ldap_base, "dc=pr-lg, dc=local"}, {ldap_rfilter, "cn=jab*"}, {ldap_groupattr, "cn"}, {ldap_gfilter, "(&(objectClass=group)(cn=%g))"}, {ldap_groupattr, "cn"}, {ldap_groupdesc, "cn"}, {ldap_member_selection_mode, group_children} ]},


Также мне крайне непонятны логи ejabberd. Если оставить уровень логирования error или warning - ничего нет... если включить info - уже много всякого и мне не понять, что он делает.
Пожалуйста помогите разобраться.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21521
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: ejabberd + AD (ldap)

Сообщение Bizdelnick »

2. Пакет ldap-utils. В частности программа ldapsearch. Синтаксис у неё убийственный, правда.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
TonnyBennet
Сообщения: 230
ОС: Ubuntu Server 9.10

Re: ejabberd + AD (ldap)

Сообщение TonnyBennet »

Bizdelnick писал(а):
18.11.2013 12:34
2. Пакет ldap-utils. В частности программа ldapsearch. Синтаксис у неё убийственный, правда.


Спасибо. Нашёл под WIndows программу с более понятным интерфейсом. AD Explorer.

Меня терзают смутные сомнения: то-ли сам ejabbered криво работает, то ли я не правильно фильтры настраиваю.
Спасибо сказали: