* [Sysadmins] ejabberd - группы из LDAP на основе OU @ 2009-10-02 19:14 Max Ivanov 2009-10-03 7:47 ` Dmitriy Kruglikov 0 siblings, 1 reply; 13+ messages in thread From: Max Ivanov @ 2009-10-02 19:14 UTC (permalink / raw) To: ALT Linux sysadmin discuss Написал ( по большей части накопипастил mod_shared_roster уж) модуль, который формирует shared roster на основу OU из LDAP. Логика проста: по фильтру нашли OU, по фильтру нашли пользователей в каждой OU. Разные случаи, когда пользователь попытается удалить кого-нибудь из shared roster обрабатываются корректно. В отличие от mod_shared_roster_ldap сильно меньше дергает ldap (отображаемые имена группы и пользователей получаются за один запрос, ане так, что сначала взяли внутреннее имя пользователя, потом запросили отображаемое имя), с другой стороны модуль пока не умеет фильтровать записи в себе, а не средствами LDAP. Может когда-нибудь и напишу. Называется mod_shared_roster_ldap_ou, лежит в http://git.altlinux.org/people/redbaron/public/?p=mod_shared_roster_ldap_ou.git;a=summary ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-02 19:14 [Sysadmins] ejabberd - группы из LDAP на основе OU Max Ivanov @ 2009-10-03 7:47 ` Dmitriy Kruglikov 2009-10-03 9:29 ` Max Ivanov 0 siblings, 1 reply; 13+ messages in thread From: Dmitriy Kruglikov @ 2009-10-03 7:47 UTC (permalink / raw) To: ALT Linux sysadmin discuss 2 октября 2009 г. 22:14 пользователь Max Ivanov написал: > Написал ( по большей части накопипастил mod_shared_roster уж) модуль, > который формирует shared roster на основу OU из LDAP. А зачем ? Оно ж и так работает ... Только настроить нужно ... У меня и по OU сортировало ... Сейчас по городу (l) ... Все "искаропки" ... Только конфиг мой ... Дать поностить? -- Как правильно задавать вопросы: http://maddog.sitengine.ru/smart-question-ru.html Помогает: http://search.altlinux.org Best regards, Dmitriy Kruglikov Dmitriy.Kruglikov_at_gmail_dot_com XMPP: Dmitriy.Kruglikov_at_gmail_dot_com ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-03 7:47 ` Dmitriy Kruglikov @ 2009-10-03 9:29 ` Max Ivanov 2009-10-03 12:13 ` Dmitriy Kruglikov 0 siblings, 1 reply; 13+ messages in thread From: Max Ivanov @ 2009-10-03 9:29 UTC (permalink / raw) To: ALT Linux sysadmin discuss > А зачем ? Я не осилил назначение всех фильров в оригинальном mod_shared_roster_ldap + последдние изменения в mod_shared_roster там не отражены + сделал экономию на ldap запросах. А началось вообще с того, что оно на 2.1.0 не заводится, но патчится элементарно, да там меня уже не остановить было :) > Оно ж и так работает ... > Только настроить нужно ... > У меня и по OU сортировало ... > Сейчас по городу (l) ... > Все "искаропки" ... > Только конфиг мой ... > Дать поностить? Давай конечно. Мне непонятно как дефолтный может работать с OU, ведь оно ищет сначала группы, потом просто берет как список пользователей какой-нибудь аттрибут найденной группы. С OU такое прокатить впринципе не может, т.к. надо искать с другим base path равноым dn от найденной OU. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-03 9:29 ` Max Ivanov @ 2009-10-03 12:13 ` Dmitriy Kruglikov 2009-10-03 14:16 ` Mikhail A. Pokidko 2009-10-06 11:31 ` Max Ivanov 0 siblings, 2 replies; 13+ messages in thread From: Dmitriy Kruglikov @ 2009-10-03 12:13 UTC (permalink / raw) To: ALT Linux sysadmin discuss 3 октября 2009 г. 12:29 пользователь Max Ivanov написал: > Я не осилил назначение всех фильров в оригинальном > mod_shared_roster_ldap ... > да там > меня уже не остановить было :) Вот, помню, и генерал Брусилов так же оправдывался... ;) > > Давай конечно. Вот тебе, для начала vcard +++ {mod_vcard_ldap, [ {ldap_vcard_map, [ {"NICKNAME", "%s", ["cn"]}, {"GIVEN", "%s", ["givenName"]}, {"MIDDLE", "%s", ["initials"]}, {"FAMILY", "%s", ["sn"]}, {"FN", "%s", ["displayName"]}, {"EMAIL", "%s", ["mail"]}, {"ORGNAME", "%s", ["o"]}, {"ORGUNIT", "%s", ["ou"]}, {"LOCALITY", "%s", ["l"]}, {"STREET", "%s", ["street"]}, {"REGION", "%s", ["st"]}, {"PCODE", "%s", ["postalCode"]}, {"TITLE", "%s", ["title"]}, {"URL", "%s", ["wWWHomePage"]}, {"DESC", "%s", ["description"]}, {"PHOTO", "%s", ["jpegPhoto"]}, {"ROLE", "%s", ["employeeType"]}, {"TEL", "%s", ["mobile"]} ]}, {ldap_search_fields, [ {"Пользователь", "%u"}, {"Псевдоним", "displayName"}, {"Имя", "givenName"}, {"Фамилия", "sn"}, {"E-Mail", "mail"}, {"Город", "l"} ]}, {ldap_search_reported, [ {"Псевдоним", "NICKNAME"}, {"Телефоны", "TEL"}, {"E-Mail", "EMAIL"} ]} ]}, +++ А вот тебе ростер... +++ {mod_shared_roster_ldap, [ {ldap_base, "ou=People,dc=breg,dc=com,dc=ua"}, {ldap_groupattr, "l"}, {ldap_groupdesc, "City"}, {ldap_filter, "(&(destinationIndicator=act)(jabberPublishedItem=1))"}, {ldap_memberattr, "uid"}, {ldap_userdesc, "displayName"} ]}, +++ Фильтры у меня своеобразные ... jabberPublishedItem нет в типовых схемах ... Это остатки от танцев вокруг jabberd2 ... destinationIndicator использую, как умею ... В моих настройках destinationIndicator=act используется еще и в фильтрах адресной книги RoundCube ... В результате, у меня ростер группируется по городам, на основании значения атрибута "l". В ростер попадают только те пользователи, которые хоть раз залогинились, и при условии, что у них destinationIndicator=act. > Мне непонятно как дефолтный может работать с OU, ведь > оно ищет сначала группы, потом просто берет как список пользователей > какой-нибудь аттрибут найденной группы. Нет ... Он берет значение ou: Группа ... ... > т.к. надо искать с другим base path равноым dn от найденной > OU. Не ... Атрибут у каждого пользователя прописан ... Ни чего искать не нужно ... На основании значения поместить в нужную ветку ростера ... -- Как правильно задавать вопросы: http://maddog.sitengine.ru/smart-question-ru.html Помогает: http://search.altlinux.org Best regards, Dmitriy Kruglikov Dmitriy.Kruglikov_at_gmail_dot_com XMPP: Dmitriy.Kruglikov_at_gmail_dot_com ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-03 12:13 ` Dmitriy Kruglikov @ 2009-10-03 14:16 ` Mikhail A. Pokidko 2009-10-03 16:44 ` Dmitriy Kruglikov 2009-10-06 11:31 ` Max Ivanov 1 sibling, 1 reply; 13+ messages in thread From: Mikhail A. Pokidko @ 2009-10-03 14:16 UTC (permalink / raw) To: ALT Linux sysadmin discuss 2009/10/3 Dmitriy Kruglikov <dmitriy.kruglikov@gmail.com>: ... > А вот тебе ростер... > +++ > {mod_shared_roster_ldap, [ > {ldap_base, "ou=People,dc=breg,dc=com,dc=ua"}, > {ldap_groupattr, "l"}, > {ldap_groupdesc, "City"}, > {ldap_filter, "(&(destinationIndicator=act)(jabberPublishedItem=1))"}, > {ldap_memberattr, "uid"}, > {ldap_userdesc, "displayName"} > ]}, > +++ > > Фильтры у меня своеобразные ... Дим, а сколько у тебя пользователей? Мне пришлось отказаться от m_s_r_l, потому что при ~4х сотнях (с ростером вида все есть у всех, ручное заполнение) коннект занимает минуты 3, что анрил. -- xmpp: pma AT altlinux DOT org ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-03 14:16 ` Mikhail A. Pokidko @ 2009-10-03 16:44 ` Dmitriy Kruglikov 2009-10-03 16:50 ` Mikhail A. Pokidko 0 siblings, 1 reply; 13+ messages in thread From: Dmitriy Kruglikov @ 2009-10-03 16:44 UTC (permalink / raw) To: ALT Linux sysadmin discuss 3 октября 2009 г. 17:16 пользователь Mikhail A. Pokidko написал: > Дим, а сколько у тебя пользователей? Сейчас 17... > Мне пришлось отказаться от m_s_r_l, потому что при ~4х сотнях (с > ростером вида все есть у всех, ручное заполнение) коннект занимает > минуты 3, что анрил. Не понял про ручное заполнение и m_s_r_l (m_s_r_l я интерпретировал)... У меня все автоматически ... Нового завел, в LDAPe отметил, как активного... Переконнектился и появился .... Даже не удаляется, потому как при следующем коннекте всплывет ... На 4х сотнях проверить не могу ... P.S. Я не утверждаю, что оптимизация модулю не нужна ... Я ж в него не смотрел :) Я просто говорю, что свои функции он выполняет, и писать на его основе другой движек, реализующий его же функции - мутновато как-то ... -- Как правильно задавать вопросы: http://maddog.sitengine.ru/smart-question-ru.html Помогает: http://search.altlinux.org Best regards, Dmitriy Kruglikov Dmitriy.Kruglikov_at_gmail_dot_com XMPP: Dmitriy.Kruglikov_at_gmail_dot_com ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-03 16:44 ` Dmitriy Kruglikov @ 2009-10-03 16:50 ` Mikhail A. Pokidko 2009-10-03 17:05 ` Dmitriy Kruglikov 0 siblings, 1 reply; 13+ messages in thread From: Mikhail A. Pokidko @ 2009-10-03 16:50 UTC (permalink / raw) To: ALT Linux sysadmin discuss 2009/10/3 Dmitriy Kruglikov <dmitriy.kruglikov@gmail.com>: > 3 октября 2009 г. 17:16 пользователь Mikhail A. Pokidko написал: > >> Дим, а сколько у тебя пользователей? > Сейчас 17... Жаль) >> Мне пришлось отказаться от m_s_r_l, потому что при ~4х сотнях (с >> ростером вида все есть у всех, ручное заполнение) коннект занимает >> минуты 3, что анрил. > Не понял про ручное заполнение и m_s_r_l (m_s_r_l я интерпретировал)... Поддержка офиса заполняет ростеры руками, ибо с модулем слишком долго. > P.S. > Я не утверждаю, что оптимизация модулю не нужна ... А там иначе врядли получится - надо же высасывать ростер при каждом коннекте. Пока я придумал дампить по крону пользователей из AD в Postgres (всё равно рядом с ежом стоит). Вот только раньше НГ врядли доберусь. -- xmpp: pma AT altlinux DOT org ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-03 16:50 ` Mikhail A. Pokidko @ 2009-10-03 17:05 ` Dmitriy Kruglikov 2009-10-03 17:45 ` Mikhail A. Pokidko 0 siblings, 1 reply; 13+ messages in thread From: Dmitriy Kruglikov @ 2009-10-03 17:05 UTC (permalink / raw) To: ALT Linux sysadmin discuss 3 октября 2009 г. 19:50 пользователь Mikhail A. Pokidko написал: >> Сейчас 17... > Жаль) Хм ... Хотя ... Пропроционально числу пользователей увеличить и ЗП :) > > Пока я придумал дампить по крону пользователей из AD в Postgres (всё > равно рядом с ежом стоит). А при чем тут АД ? У тебя ростер из АД заполняется ? У меня наш, openldap ... Если 400 рыл из АД, то считай, что за 3 минуты, это ракЭта ;) -- Как правильно задавать вопросы: http://maddog.sitengine.ru/smart-question-ru.html Помогает: http://search.altlinux.org Best regards, Dmitriy Kruglikov Dmitriy.Kruglikov_at_gmail_dot_com XMPP: Dmitriy.Kruglikov_at_gmail_dot_com ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-03 17:05 ` Dmitriy Kruglikov @ 2009-10-03 17:45 ` Mikhail A. Pokidko 0 siblings, 0 replies; 13+ messages in thread From: Mikhail A. Pokidko @ 2009-10-03 17:45 UTC (permalink / raw) To: ALT Linux sysadmin discuss 2009/10/3 Dmitriy Kruglikov <dmitriy.kruglikov@gmail.com>: > 3 октября 2009 г. 19:50 пользователь Mikhail A. Pokidko написал: >>> Сейчас 17... >> Жаль) > Хм ... > Хотя ... Пропроционально числу пользователей увеличить и ЗП :) >> > >> Пока я придумал дампить по крону пользователей из AD в Postgres (всё >> равно рядом с ежом стоит). > А при чем тут АД ? > У тебя ростер из АД заполняется ? > У меня наш, openldap ... Да, но разницы-то нет, из какого ldap-сервера наполняться. > Если 400 рыл из АД, то считай, что за 3 минуты, это ракЭта ;) Это и плохо -- xmpp: pma AT altlinux DOT org ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-03 12:13 ` Dmitriy Kruglikov 2009-10-03 14:16 ` Mikhail A. Pokidko @ 2009-10-06 11:31 ` Max Ivanov 2009-10-06 11:51 ` Dmitriy Kruglikov 1 sibling, 1 reply; 13+ messages in thread From: Max Ivanov @ 2009-10-06 11:31 UTC (permalink / raw) To: ALT Linux sysadmin discuss > +++ > А вот тебе ростер... > +++ > {mod_shared_roster_ldap, [ > {ldap_base, "ou=People,dc=breg,dc=com,dc=ua"}, > {ldap_groupattr, "l"}, > {ldap_groupdesc, "City"}, > {ldap_filter, "(&(destinationIndicator=act)(jabberPublishedItem=1))"}, > {ldap_memberattr, "uid"}, > {ldap_userdesc, "displayName"} > ]}, > +++ что здесь "City"? Аттрибут у пользователя? насколько я помню это должен был быть аттрибут группы хранящий отображаемое имя. но такого нет, так что запросы в пустую идут. >> Мне непонятно как дефолтный может работать с OU, ведь >> оно ищет сначала группы, потом просто берет как список пользователей >> какой-нибудь аттрибут найденной группы. > Нет ... Он берет значение ou: Группа ... В коде изкоробочного модуля нет вообще ничего про OU. >> т.к. надо искать с другим base path равноым dn от найденной >> OU. > Не ... Атрибут у каждого пользователя прописан ... > Ни чего искать не нужно ... > На основании значения поместить в нужную ветку ростера ... Это у тебя прописан городе у каждого, у меня пользователя разбросаны по OU, а у самих пользователей никаких аттрибутов по которым бы их можно было причислить в группы нет. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-06 11:31 ` Max Ivanov @ 2009-10-06 11:51 ` Dmitriy Kruglikov 2009-10-06 17:22 ` Max Ivanov 0 siblings, 1 reply; 13+ messages in thread From: Dmitriy Kruglikov @ 2009-10-06 11:51 UTC (permalink / raw) To: ALT Linux sysadmin discuss 6 октября 2009 г. 14:31 пользователь Max Ivanov написал: > что здесь "City"? Аттрибут у пользователя? насколько я помню это > должен был быть аттрибут группы хранящий отображаемое имя. но такого > нет, так что запросы в пустую идут. Да. У меня в базе LDAP у пользователей прописан такой атрибут, и я группирую ростер по этому атрибуту ... Мне нужно именно так ... Напишите свой атрибут группировки... > > Это у тебя прописан городе у каждого, у меня пользователя разбросаны > по OU, а у самих пользователей никаких аттрибутов по которым бы их > можно было причислить в группы нет. Я бы добавил каждому пользователю атрибут, по которому группировать ростер ... Тогда пользователи будут отбираться по всей базе, на основании фильтров, а группироваться по данному атрибуту. Думаю, это будет быстрее, чем лопатить каждый OU... -- Как правильно задавать вопросы: http://maddog.sitengine.ru/smart-question-ru.html Помогает: http://search.altlinux.org Best regards, Dmitriy Kruglikov Dmitriy.Kruglikov_at_gmail_dot_com XMPP: Dmitriy.Kruglikov_at_gmail_dot_com ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-06 11:51 ` Dmitriy Kruglikov @ 2009-10-06 17:22 ` Max Ivanov 2009-10-07 5:49 ` Dmitriy Kruglikov 0 siblings, 1 reply; 13+ messages in thread From: Max Ivanov @ 2009-10-06 17:22 UTC (permalink / raw) To: ALT Linux sysadmin discuss > Думаю, это будет быстрее, чем лопатить каждый OU... Пользователи уже в OU, зачем что-то переделывать? тем более gosa отлично работает с этими OU. А по скорости... 1) если не 9000 пользователей, то не критично, 2) изкоробочный модуль бомбит лдап запросами мама негорюй. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Sysadmins] ejabberd - группы из LDAP на основе OU 2009-10-06 17:22 ` Max Ivanov @ 2009-10-07 5:49 ` Dmitriy Kruglikov 0 siblings, 0 replies; 13+ messages in thread From: Dmitriy Kruglikov @ 2009-10-07 5:49 UTC (permalink / raw) To: ALT Linux sysadmin discuss 6 октября 2009 г. 20:22 пользователь Max Ivanov написал: > 2) изкоробочный модуль бомбит лдап запросами мама негорюй. Тогда, вероятно, будет правильным обсудить ваш вариант с Evgeniy Khramtsov (если я не ошибаюсь и автор модуля действительно он). Если нужно, дам его контакты в личке ... -- Как правильно задавать вопросы: http://maddog.sitengine.ru/smart-question-ru.html Помогает: http://search.altlinux.org Best regards, Dmitriy Kruglikov Dmitriy.Kruglikov_at_gmail_dot_com XMPP: Dmitriy.Kruglikov_at_gmail_dot_com ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2009-10-07 5:49 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2009-10-02 19:14 [Sysadmins] ejabberd - группы из LDAP на основе OU Max Ivanov 2009-10-03 7:47 ` Dmitriy Kruglikov 2009-10-03 9:29 ` Max Ivanov 2009-10-03 12:13 ` Dmitriy Kruglikov 2009-10-03 14:16 ` Mikhail A. Pokidko 2009-10-03 16:44 ` Dmitriy Kruglikov 2009-10-03 16:50 ` Mikhail A. Pokidko 2009-10-03 17:05 ` Dmitriy Kruglikov 2009-10-03 17:45 ` Mikhail A. Pokidko 2009-10-06 11:31 ` Max Ivanov 2009-10-06 11:51 ` Dmitriy Kruglikov 2009-10-06 17:22 ` Max Ivanov 2009-10-07 5:49 ` Dmitriy Kruglikov
ALT Linux sysadmins discussion This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \ sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com public-inbox-index sysadmins Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.sysadmins AGPL code for this site: git clone https://public-inbox.org/public-inbox.git