Форум проекта Pro-LDAP.ru

Интеграция => Системы электронной почты => Тема начата: carter123 от 15 Февраль 2013, 15:17:52

Название: openldap группы для нескольких сервисов
Отправлено: carter123 от 15 Февраль 2013, 15:17:52
добрый день. прошу подсказать :)
с помощью вот этой темы http://pro-ldap.ru/tr/zytrax/ch11/groups.html  пытаюсь понять как организоавть правильно авторизацию на несколько сервисов таких как ftp postfix итд
к примеру если у меня есть группа people  где все пользователи, некоторым из  них нужно сделать авторизацию к postfix+dovecot а некоторым только доступ к ftp
не очень понимаю логику в данный момент. у меня dovecot+postfix к примеру ищет пользователей по ou=people, dc=dom, dc=ru и всё отлично работает/

я хочу добавить группу cn=mail,ou=groups,dc=dom,dc=ru (где будет доступ к почте)  и cn=ftp,ou=groups,dc=dom,dc=ru (у этих будет доступ к фтп)
к примеру:
dn: cn=mail,ou=groups,dc=dom,dc=ru
objectclass: groupofnames
cn: itpeople
member: cn=vasya,ou=people,dc=dom,dc=ru
member: cn=nina,ou=people,dc=dom,dc=ru
как мне примерно прописать в postfix+dovecot в конфигах чтобы он понимал что пользователи из ou=people, dc=dom, dc=ru имеют доступ к почте только но  из группы cn=mail,ou=groups,dc=dom,dc=ru
спасибо
фух  :)
Название: Re: openldap группы для нескольких сервисов
Отправлено: egor от 18 Февраль 2013, 02:24:09
Здравствуйте! В принципе, в случае postfix это можно сделать (хотя сам я не делал), про ftp не знаю -- всё зависит от настроек конкретного ftp-сервера.

Про postfix посмотрите документацию http://www.postfix.org/LDAP_README.html#example_group (http://www.postfix.org/LDAP_README.html#example_group), конкретно второй случай с special.cf . Если коротко, нужно задать параметр search_base так, чтобы он указывал на Вашу группу, а также добавить параметр special_result_attribute с указанием имени атрибута членства в группе, примерно так:
search_base = cn=mail,ou=groups,dc=dom,dc=ru
query_filter = mail=%s
result_attribute = mailMessageStore
special_result_attribute = member

Честно говоря, не вижу особого смысла, поскольку Вы можете назначить атрибут mail только тем пользователям, которым нужно работать с почтой, в таком случае обычная концепция
search_base = ou=people,dc=dom,dc=ru
query_filter = mail=%s
result_attribute = mailMessageStore
получается более гибкой.

Егор

Название: Re: openldap группы для нескольких сервисов
Отправлено: carter123 от 18 Февраль 2013, 09:57:05
а я могу сделать таким образом, указать рядом с people группу mail а в ней member .  к примеру:
dn: ,ou=mail,dc=dom,dc=ru
objectclass: groupofnames
cn: itpeople
дальше уже перенаправление я так понимаю
member: cn=vasya,ou=people,dc=dom,dc=ru
member: cn=nina,ou=people,dc=dom,dc=ru

а в postfix и dovecot  просто указывать на  ou=mail,dc=dom,dc=ru   
они не поймут что там member ?   
не правильно думаю?
Название: Re: openldap группы для нескольких сервисов
Отправлено: carter123 от 18 Февраль 2013, 11:25:12
второй вариант реально проще,  но просто теперь придется указывать в каждом сервисе доп. атрибуты для поиска, а хотелось универсально сделать(просто указывать группу и всё и искать по uid), наверно так недьзя
Название: Re: openldap группы для нескольких сервисов
Отправлено: egor от 20 Февраль 2013, 05:32:17
Здравствуйте!

а в postfix и dovecot  просто указывать на  ou=mail,dc=dom,dc=ru   
они не поймут что там member ?   
не правильно думаю?

Вы попробовали то, что я Вам писал двумя постами ранее (http://pro-ldap.ru/forum/index.php?topic=46.msg151#msg151)? Мне кажется, там именно тот вариант, который Вы хотите.

Что касается того, поймут ли программы или нет, мы с Вами уже как-то говорили (http://pro-ldap.ru/forum/index.php?topic=33.msg104#msg104) о том, что программы понимают только то, что им укажет системный администратор, сами он догадываться не будут. Есть такое понятие -- проектирование каталога, его выполняют исходя из задач, которые собираются решать с помощью каталога, а также с учётом ВОЗМОЖНОСТЕЙ КОНКРЕТНЫХ ПРОГРАММ, которые будут с этим каталогом взаимодействовать. Если программа не может взаимодействовать с каталогом так, как Вам хочется, придётся либо подстраиваться под её возможности, либо искать другую программу. Надеяться на то, что "а вдруг она догадается" бессмысленно, читайте документацию и сообразуйте возможности программ со своими задачами.

Егор
Название: Re: openldap группы для нескольких сервисов
Отправлено: egor от 05 Апрель 2013, 05:03:56
Здравствуйте! Если это ещё актуально, можно попробовать решить вопрос с членством в группе с помощью наложения memberof (на это меня натолкнуло обсуждение здесь (http://pro-ldap.ru/forum/index.php?topic=50.0)). Если его применить к Вашей базе, то в main.cf postfix можно указать:
search_base = ou=people,dc=dom,dc=ru
query_filter = (&(mail=%s)(memberOf=cn=mail,ou=groups,dc=dom,dc=ru))
result_attribute = mailMessageStore

По-моему, это то, что Вы хотели.

Егор
Название: Re: openldap группы для нескольких сервисов
Отправлено: carter123 от 05 Апрель 2013, 13:01:48
Здравствуйте! Если это ещё актуально, можно попробовать решить вопрос с членством в группе с помощью наложения memberof (на это меня натолкнуло обсуждение здесь (http://pro-ldap.ru/forum/index.php?topic=50.0)). Если его применить к Вашей базе, то в main.cf postfix можно указать:
search_base = ou=people,dc=dom,dc=ru
query_filter = (&(mail=%s)(memberOf=cn=mail,ou=groups,dc=dom,dc=ru))
result_attribute = mailMessageStore

По-моему, это то, что Вы хотели.

Егор

Спасибо Егор
я сделал проще, сделал просто атрибут mail test@mail.com и если его не существует то почта с этой учеткой не работает )