Автор Тема: OpenLDAP и MemberOf  (Прочитано 27270 раз)

Вереск

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
OpenLDAP и MemberOf
« : 22 Май 2013, 22:10:45 »
Долго гуглил, что и как должно работать, но так и не понял юмора. Как объединить пользователей в группы? Не хватает логичного MemberOf - свойства как а AD.

Получается, что атрибут принадлежности есть только в группе и зовётся memberUID. Атрибут множественный. У пользовательских учёток можно хоть вручную насоздавать атрибутов и по ним отбирать что угодно. Например, сделать так:

squid_policy = full | blacklist | whitelist | none
xmpp_policy = yes
xmpp_group = buh | ok | pto | adm

Это будет правильно? Или можно всё-таки по-нормальному делать группы, в них добавлять пользователей и на основании этого уже плясать с правами?
Подсказанный тут способ отбора у меня не завёлся (руки поди что кривые):

{ldap_dn_filter, {"(&(memberUid=%s)(cn=jabberACL))", ["uid"]}}]}.

ЗЫ. Вроде как уже появился OPenLDAP с MemberOf только я что-то не понимаю, где и как. У меня тут вот такой:

  Таблица версий:
     2.4.31-1+nmu2 0
        500 http://ftp.debian.org/debian/ wheezy/main amd64 Packages

Как проверить, будет оно работать или не очень?

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: OpenLDAP и MemberOf
« Ответ #1 : 23 Май 2013, 15:18:51 »
Здравствуйте, Евгений! Наложение memberof, реализующее атрибут принадлежности группе memberOf, в OpenLDAP 2.4 было с самого начала. Проблема в том, что для его нормальной работы записи групп нужно строить не на объектном классе posixGroup (rfc2307) а на объектных классах groupOfNames или groupOfUniqueNames (rfc2307bis) и, соотвественно, атрибут членства в группе будет не memberUid, а member или uniqueMember. Тогда можно добиться появления в записях пользователей виртуального атрибута memberOf, указывающего на ту группу (группы), которым он принадлежит. Посмотрите пример здесь. Такую принадлежность группе можно очень логично и удобно использовать для postfix, squid и многих других приложений, но будет ли такой подход работать с samba -- не уверен. Можете сами поэкспериментировать.

Егор

Вереск

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: OpenLDAP и MemberOf
« Ответ #2 : 23 Май 2013, 18:54:16 »
Ну менять группы уже, наверное, как-то поздновато: и пользователи, и группы уже работают. Да и самбовая схема, вероятно, не позволит. И менеджер LAM придётся, поди, перелопачивать. Овчинка выделки не стоит. К тому же, там есть вариант, что дебианщики скомпиляли LDAP без memberOf, как узнать-то?

Другое дело, насоздавать дополнительных атрибутов - это нормально? Ведь как-то же решалась эта популярнейшая задача и без memberOf, в принципе-то!

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: OpenLDAP и MemberOf
« Ответ #3 : 27 Май 2013, 06:01:40 »
Здравствуйте! В Ubuntu OpenLDAP собирается с поддержкой всех механизмов и наложений в виде модулей, вполне возможно, в Debian та же картина. Посмотрите:
#ls /usr/lib/ldap/ | grep memberof
Что касается создания собственных атрибутов -- я не сторонник таких решений, хотя ничего криминального в них нет. Проще использовать какой-нибудь редко применяемый стандартный атрибут, например:
l: squid_policy_full
l: xmpp_group_buh
а потом применять их в фильтрах типа:
(&(uid=%s)(l=squid_policy_full))

Егор

Вереск

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: OpenLDAP и MemberOf
« Ответ #4 : 30 Май 2013, 08:50:02 »
Посмотрел, да, действительно, можно MemberOf использовать. Надо рискнуть, забэкапившись. Спасибо!

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: OpenLDAP и MemberOf
« Ответ #5 : 31 Май 2013, 01:25:40 »
Здравствуйте! Если решитесь попробовать, отпишитесь, получилось ли срастить такую политику групп с samba3.

Егор