Форум проекта Pro-LDAP.ru
Интеграция => Системы электронной почты => Тема начата: 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
спасибо
фух :)
-
Здравствуйте! В принципе, в случае 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
получается более гибкой.
Егор
-
а я могу сделать таким образом, указать рядом с 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 ?
не правильно думаю?
-
второй вариант реально проще, но просто теперь придется указывать в каждом сервисе доп. атрибуты для поиска, а хотелось универсально сделать(просто указывать группу и всё и искать по uid), наверно так недьзя
-
Здравствуйте!
а в 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) о том, что программы понимают только то, что им укажет системный администратор, сами он догадываться не будут. Есть такое понятие -- проектирование каталога, его выполняют исходя из задач, которые собираются решать с помощью каталога, а также с учётом ВОЗМОЖНОСТЕЙ КОНКРЕТНЫХ ПРОГРАММ, которые будут с этим каталогом взаимодействовать. Если программа не может взаимодействовать с каталогом так, как Вам хочется, придётся либо подстраиваться под её возможности, либо искать другую программу. Надеяться на то, что "а вдруг она догадается" бессмысленно, читайте документацию и сообразуйте возможности программ со своими задачами.
Егор
-
Здравствуйте! Если это ещё актуально, можно попробовать решить вопрос с членством в группе с помощью наложения 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
По-моему, это то, что Вы хотели.
Егор
-
Здравствуйте! Если это ещё актуально, можно попробовать решить вопрос с членством в группе с помощью наложения 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 и если его не существует то почта с этой учеткой не работает )