Форум проекта Pro-LDAP.ru
Общие вопросы по LDAP => Общий раздел => Тема начата: Вереск от 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
Как проверить, будет оно работать или не очень?
-
Здравствуйте, Евгений! Наложение memberof, реализующее атрибут принадлежности группе memberOf, в OpenLDAP 2.4 было с самого начала. Проблема в том, что для его нормальной работы записи групп нужно строить не на объектном классе posixGroup (rfc2307) а на объектных классах groupOfNames или groupOfUniqueNames (rfc2307bis) и, соотвественно, атрибут членства в группе будет не memberUid, а member или uniqueMember. Тогда можно добиться появления в записях пользователей виртуального атрибута memberOf, указывающего на ту группу (группы), которым он принадлежит. Посмотрите пример здесь (http://pro-ldap.ru/forum/index.php?topic=50.msg176#msg176). Такую принадлежность группе можно очень логично и удобно использовать для postfix (http://pro-ldap.ru/forum/index.php?topic=46.msg182#msg182), squid и многих других приложений, но будет ли такой подход работать с samba -- не уверен. Можете сами поэкспериментировать.
Егор
-
Ну менять группы уже, наверное, как-то поздновато: и пользователи, и группы уже работают. Да и самбовая схема, вероятно, не позволит. И менеджер LAM придётся, поди, перелопачивать. Овчинка выделки не стоит. К тому же, там есть вариант, что дебианщики скомпиляли LDAP без memberOf, как узнать-то?
Другое дело, насоздавать дополнительных атрибутов - это нормально? Ведь как-то же решалась эта популярнейшая задача и без memberOf, в принципе-то!
-
Здравствуйте! В Ubuntu OpenLDAP собирается с поддержкой всех механизмов и наложений в виде модулей, вполне возможно, в Debian та же картина. Посмотрите:
#ls /usr/lib/ldap/ | grep memberof
Что касается создания собственных атрибутов -- я не сторонник таких решений, хотя ничего криминального в них нет. Проще использовать какой-нибудь редко применяемый стандартный атрибут, например:
l: squid_policy_full
l: xmpp_group_buh
а потом применять их в фильтрах типа:
(&(uid=%s)(l=squid_policy_full))
Егор
-
Посмотрел, да, действительно, можно MemberOf использовать. Надо рискнуть, забэкапившись. Спасибо!
-
Здравствуйте! Если решитесь попробовать, отпишитесь, получилось ли срастить такую политику групп с samba3.
Егор