Как показано в документации (статья 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