Назад | Перейти на главную страницу

Openldap: доступ к атрибуту поддерева

Как показано в документация (статья 8.2.5) Я пытаюсь ограничить доступ к атрибутам dn.subtree="ou=accounts,dc=domain,dc=local" для dn="cn=addrbook,ou=services,dc=domain,dc=local", но нет доступа к указанным атрибутам для dn="cn=addrbook,ou=services,dc=domain,dc=local"

root@metalmachine:~# ldapsearch -D "cn=addrbook,ou=services,dc=domain,dc=local" -W -b "ou=accounts,dc=domain,dc=local" mail
Enter LDAP Password:
# extended LDIF
# 
# LDAPv3
# base <ou=accounts,dc=domain,dc=local> with scope subtree
# filter: (objectclass=*)
# requesting: mail
#

# search result
search: 2
result: 32 No such object

# numResponses: 1

Вот две директивы доступа для dn.subtree="ou=accounts,dc=domain,dc=local"

access to dn.subtree="ou=accounts,dc=domain,dc=local" attrs=uid,mail,cn,gn,sn,displayName
        by dn="cn=addrbook,ou=services,dc=domain,dc=local" read
        by dn="cn=dovecot,ou=services,dc=domain,dc=local" read

access to dn.subtree="ou=accounts,dc=domain,dc=local"
        by dn="cn=dovecot,ou=services,dc=domain,dc=local" read
        by anonymous auth
        by self read
        by * none

Все отлично работает для dn="cn=dovecot,ou=services,dc=domain,dc=local".

Я нашел решение:

access to dn.children="ou=accounts,dc=domain,dc=local" attrs=uid,mail,cn,gn,sn,displayName
        by dn="cn=addrbook,ou=services,dc=domain,dc=local" read

access to dn.subtree="ou=accounts,dc=domain,dc=local"
        by dn="cn=addrbook,ou=services,dc=domain,dc=local" search
        by dn="cn=dovecot,ou=services,dc=domain,dc=local" read
        by anonymous auth
        by self read
        by * none