Автор Тема: openldap группы для нескольких сервисов  (Прочитано 26815 раз)

carter123

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
добрый день. прошу подсказать :)
с помощью вот этой темы 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
спасибо
фух  :)

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: openldap группы для нескольких сервисов
« Ответ #1 : 18 Февраль 2013, 02:24:09 »
Здравствуйте! В принципе, в случае postfix это можно сделать (хотя сам я не делал), про ftp не знаю -- всё зависит от настроек конкретного ftp-сервера.

Про postfix посмотрите документацию 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
получается более гибкой.

Егор


carter123

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: openldap группы для нескольких сервисов
« Ответ #2 : 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 ?   
не правильно думаю?

carter123

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: openldap группы для нескольких сервисов
« Ответ #3 : 18 Февраль 2013, 11:25:12 »
второй вариант реально проще,  но просто теперь придется указывать в каждом сервисе доп. атрибуты для поиска, а хотелось универсально сделать(просто указывать группу и всё и искать по uid), наверно так недьзя

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: openldap группы для нескольких сервисов
« Ответ #4 : 20 Февраль 2013, 05:32:17 »
Здравствуйте!

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

Вы попробовали то, что я Вам писал двумя постами ранее? Мне кажется, там именно тот вариант, который Вы хотите.

Что касается того, поймут ли программы или нет, мы с Вами уже как-то говорили о том, что программы понимают только то, что им укажет системный администратор, сами он догадываться не будут. Есть такое понятие -- проектирование каталога, его выполняют исходя из задач, которые собираются решать с помощью каталога, а также с учётом ВОЗМОЖНОСТЕЙ КОНКРЕТНЫХ ПРОГРАММ, которые будут с этим каталогом взаимодействовать. Если программа не может взаимодействовать с каталогом так, как Вам хочется, придётся либо подстраиваться под её возможности, либо искать другую программу. Надеяться на то, что "а вдруг она догадается" бессмысленно, читайте документацию и сообразуйте возможности программ со своими задачами.

Егор

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: openldap группы для нескольких сервисов
« Ответ #5 : 05 Апрель 2013, 05:03:56 »
Здравствуйте! Если это ещё актуально, можно попробовать решить вопрос с членством в группе с помощью наложения memberof (на это меня натолкнуло обсуждение здесь). Если его применить к Вашей базе, то в 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

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

Егор

carter123

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: openldap группы для нескольких сервисов
« Ответ #6 : 05 Апрель 2013, 13:01:48 »
Здравствуйте! Если это ещё актуально, можно попробовать решить вопрос с членством в группе с помощью наложения memberof (на это меня натолкнуло обсуждение здесь). Если его применить к Вашей базе, то в 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 и если его не существует то почта с этой учеткой не работает )
« Последнее редактирование: 05 Апрель 2013, 15:22:21 от carter123 »