Thank you all for your suggestions,
Obviously, what Thiery mentioned was the cause of the problem.
After some experiments, I added the following in the beginning of my
acl.conf :
access to dn.sub="dc=example,dc=com" attrs="children,entry"
by group.exact="cn=Group1Admins,ou=Groups,dc=example,dc=com" write
by group.exact="cn=Group2Admins,ou=Groups,dc=example,dc=com" read
by group.exact="cn=Group3Admins,ou=Groups,dc=example,dc=com" read
by group.exact="cn=Group4Admins,ou=Groups,dc=example,dc=com" read
by group.exact="cn=Group5Admins,ou=Groups,dc=example,dc=com" read
by group.exact="cn=Group6Admins,ou=Groups,dc=example,dc=com" read
by dn.exact="uid=dnsauthusr,ou=System,dc=example,dc=com" read
by * break
After adding the above, all the "example.com" tree became visible again.
Thanks again,
Nick
On 28/12/2010 5:53 μμ, Thierry Lacoste wrote:
Just a guess.
According to http://www.openldap.org/doc/admin24/appendix-upgrading.html:
'Search operations now require "search" privileges on the "entry"
pseudo-attribute of the search base.'
Maybe you need to add the search privilege at an upper level in your DIT.
Regards,
Thierry
For example, the following piece of code works as expected in v2.3
but not in v2.4. If some user logs in and is a member of a
GroupXAdmins (where X = 1-6), he can't see the branch at all.
# Allow access to entries of the subtree
#
access to dn.sub="dc=12.11.10.in-addr.arpa,ou=dns1,dc=example,dc=com"
attrs="children,entry"
by group.exact="cn=Group1Admins,ou=Groups,dc=example,dc=com" write
by group.exact="cn=Group2Admins,ou=Groups,dc=example,dc=com" read
by group.exact="cn=Group3Admins,ou=Groups,dc=example,dc=com" read
by group.exact="cn=Group4Admins,ou=Groups,dc=example,dc=com" write
by group.exact="cn=Group5Admins,ou=Groups,dc=example,dc=com" read
by group.exact="cn=Group6Admins,ou=Groups,dc=example,dc=com" read
by dn.exact="uid=dnsauthusr,ou=System,dc=example,dc=gr" read
by * break
# Allow access to all attributes of the subtree
#
access to dn.sub="dc=12.11.10.in-addr.arpa,ou=dns1,dc=example,dc=com"
by group.exact="cn=Group1Admins,ou=Groups,dc=example,dc=com" write
by group.exact="cn=Group2Admins,ou=Groups,dc=example,dc=com" read
by group.exact="cn=Group3Admins,ou=Groups,dc=example,dc=com" read
by group.exact="cn=Group4Admins,ou=Groups,dc=example,dc=com" write
by group.exact="cn=Group5Admins,ou=Groups,dc=example,dc=com" read
by group.exact="cn=Group6Admins,ou=Groups,dc=example,dc=com" read
by dn.exact="uid=dnsauthusr,ou=System,dc=example,dc=com" read
where Groups are of the form:
dn: cn=Group1Admins,ou=Groups,dc=example,dc=com
objectClass: groupOfNames
cn: Group1Admins
member: uid=userx,ou=people,dc=example,dc=com
Please, help.
Nick