LDAP - продвинутые ACL ?

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
raba
проходил мимо
Сообщения: 2
Зарегистрирован: 2008-07-17 15:15:57

LDAP - продвинутые ACL ?

Непрочитанное сообщение raba » 2008-07-17 15:18:54

Как реализовать нижеуказаные acl с помощью regex?
access to dn.subtree="ou=dom3,dc=system,dc=ru"
by dn.one="ou=admin,ou=dom3,dc=system,dc=ru" write
by dn.children="ou=dom3,dc=system,dc=ru" read
by self read
by anonymous auth
by * none
Прошу не указывать на http://www.openldap.org/doc/admin24/access-control.html , перечитал ее 10 раз но что-то не доходить до меня и не получается.
Суть в том чтобы все которые находится в ou=dom3,dc=system,dc=ru могли читать только в свое дерево, дальше никуда, а все в ou=admin,ou=dom3,dc=system,dc=ru могли писать в тоже самое дерево. Все ето работает но как-то некрасиво и не грамотно звучить не переписывать его с regexы,..а если 50 поддерев, мне каждому отдельно прописывать?!

При такови acl:
access to dn.base="dc=ru"
by dn.children="ou=system,dc=ru" read
by * none

access to dn.base="dc=system,dc=ru"
by dn.children="dc=system,dc=ru" read
by * none

access to dn.regex="ou=([^,]+),dc=system,dc=ru$"
by dn.regex="(.+,)?$1,dc=system,dc=ru$$" read
by * none

access to dn.regex="(.+,)?ou=([^,]+),dc=system,dc=ru$"
by dn.regex="(.+,)?$1,dc=system,dc=ru$$" read
by dn.regex="^cn=([^,]+),ou=admin,$1,dc=system,dc=ru$$" write
by * none
логи такие:
Jul 17 14:52:18 ps3 slapd[1076]: => access_allowed: auth access to "cn=admin1,ou=admin,ou=dom3,dc=system,dc=ru" "userPassword" requested
Jul 17 14:52:18 ps3 slapd[1076]: => dn: [1] dc=ru
Jul 17 14:52:18 ps3 slapd[1076]: => dn: [2] dc=system,dc=ru
Jul 17 14:52:18 ps3 slapd[1076]: => dnpat: [3] ou=([^,]+),dc=system,dc=ru$ nsub: 1
Jul 17 14:52:18 ps3 slapd[1076]: => acl_get: [3] matched
Jul 17 14:52:18 ps3 slapd[1076]: => acl_get: [3] attr userPassword
Jul 17 14:52:18 ps3 slapd[1076]: => match[0]: 20 50
Jul 17 14:52:18 ps3 slapd[1076]: o
Jul 17 14:52:18 ps3 slapd[1076]: u
Jul 17 14:52:18 ps3 slapd[1076]: =
Jul 17 14:52:18 ps3 slapd[1076]: d
Jul 17 14:52:18 ps3 slapd[1076]: o
Jul 17 14:52:18 ps3 slapd[1076]: m
Jul 17 14:52:18 ps3 slapd[1076]: 3
Jul 17 14:52:18 ps3 slapd[1076]: ,
Jul 17 14:52:18 ps3 slapd[1076]: d
Jul 17 14:52:18 ps3 slapd[1076]: c
Jul 17 14:52:18 ps3 slapd[1076]: =
Jul 17 14:52:18 ps3 slapd[1076]: s
Jul 17 14:52:18 ps3 slapd[1076]: y
Jul 17 14:52:18 ps3 slapd[1076]: s
Jul 17 14:52:18 ps3 slapd[1076]: t
Jul 17 14:52:18 ps3 slapd[1076]: e
Jul 17 14:52:18 ps3 slapd[1076]: m
Jul 17 14:52:18 ps3 slapd[1076]: ,
Jul 17 14:52:18 ps3 slapd[1076]: d
Jul 17 14:52:18 ps3 slapd[1076]: c
Jul 17 14:52:18 ps3 slapd[1076]: =
Jul 17 14:52:18 ps3 slapd[1076]: r
Jul 17 14:52:18 ps3 slapd[1076]: u
Jul 17 14:52:18 ps3 slapd[1076]: => match[1]: 23 31
Jul 17 14:52:18 ps3 slapd[1076]: d
Jul 17 14:52:18 ps3 slapd[1076]: o
Jul 17 14:52:18 ps3 slapd[1076]: m
Jul 17 14:52:18 ps3 slapd[1076]: 3
Jul 17 14:52:18 ps3 slapd[1076]: => slap_access_allowed: result not in cache (userPassword)
Jul 17 14:52:18 ps3 slapd[1076]: => acl_mask: access to entry "cn=admin1,ou=admin,ou=dom3,dc=system,dc=ru", attr "userPassword" requested
Jul 17 14:52:18 ps3 slapd[1076]: => acl_mask: to value by "", (=0)
Jul 17 14:52:18 ps3 slapd[1076]: <= check a_dn_pat: (.+,)?$1,dc=system,dc=ru$$
Jul 17 14:52:18 ps3 slapd[1076]: <= check a_dn_pat: *
Jul 17 14:52:18 ps3 slapd[1076]: <= acl_mask: [2] applying none(=0) (stop)
Jul 17 14:52:18 ps3 slapd[1076]: <= acl_mask: [2] mask: none(=0)
Jul 17 14:52:18 ps3 slapd[1076]: => slap_access_allowed: auth access denied by none(=0)
Jul 17 14:52:18 ps3 slapd[1076]: => access_allowed: no more rules

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35139
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: LDAP - продвинутые ACL ?

Непрочитанное сообщение Alex Keda » 2008-10-29 23:44:10

это надо на бамажке рисовать и думать.
так, слёту, пожалуй нифига и не придумаешь....
Убей их всех! Бог потом рассортирует...

raba
проходил мимо
Сообщения: 2
Зарегистрирован: 2008-07-17 15:15:57

Re: LDAP - продвинутые ACL ?

Непрочитанное сообщение raba » 2008-10-30 10:20:05

Д'нет ребят! Спасибо за помощ, ето было давно и я уже вполне не плохо справился с данной задачей!
Могу поделится опытом - при возможность НЕ ставте regex'ы, они слишком затормаживають поиск когда база солидная. Я организовал acl от первой до последней строчке на regex'ы, но при обработке запросов проверка юзера при получение/отправка почты, поиск прямо скажем "sendmail не спешить искать", за то чудненко было добился все чего хотел(правила->все запрещающее кроме указаных)