Привет!
Большое спасибо за сайт, поистине титанический труд! Давно хотел нырнуть в OpenLDAP и с опаской на него поглядывал. А тут столько всего! Супер!
А теперь мольба о помощи

Указанный (в заголовке) раздел книги "для ракетчиков" не позволил мне добиться политики доступа из примера.
Пришлось внести пару изменений.
Вопрос №1: "Адекватны ли эти изменения, или я что-то неправильно понял?"
Изменены ACL7 и ACL8A (удалю исходные комментарии для краткости):
# ACL1
access to attrs=userpassword
by self write
by anonymous auth
by group.exact="cn=itpeople,ou=groups,dc=example,dc=com" write
by * none
# ACL2
access to dn.regex="^ou=addressbook,cn=([^,]+),ou=people,dc=example,dc=com$" attrs=entry
by dn.exact,expand="cn=$1,ou=people,dc=example,dc=com" read
by group.exact="cn=itpeople,ou=groups,dc=example,dc=com" write
by users none
# ACL3
access to dn.regex="cn=[^,]+,ou=people,dc=example,dc=com$" attrs=children
by group.exact="cn=itpeople,ou=groups,dc=example,dc=com" write
by users none break
# ACL4
access to dn.regex="ou=addressbook,cn=([^,]+),ou=people,dc=example,dc=com$" attrs=children
by dn.exact,expand="cn=$1,ou=people,dc=example,dc=com" write
by users none
# ACL6A
access to dn.regex="ou=addressbook,cn=([^,]+),ou=people,dc=example,dc=com$" attrs=entry,@inetorgperson
by dn.exact,expand="cn=$1,ou=people,dc=example,dc=com" write
by users none
# ACL7
# Вместо такого ACL7:
#access to dn.one="ou=customers,dc=example,dc=com" attrs=children
# by group.exact="cn=salespeople,ou=groups,dc=example,dc=com" write
# by users read
# Пришлось сделать два:
access to dn="ou=customers,dc=example,dc=com" attrs=children
by group.exact="cn=salespeople,ou=groups,dc=example,dc=com" write
by users read
access to dn.one="ou=customers,dc=example,dc=com" attrs=entry
by group.exact="cn=salespeople,ou=groups,dc=example,dc=com" write
by users read
# ACL8
access to attrs=carlicense,homepostaladdress,homephone
by self write
by group.exact="cn=hrpeople,ou=groups,dc=example,dc=com" write
by * none
# ACL8A
# Вместо такого ACL8A:
#access to dn.one="ou=equipment,dc=example,dc=com"
# by group.exact="cn=itpeople,ou=groups,dc=example,dc=com" write
# by users read
# by * none
# Пришлось сделать тоже два:
access to dn="ou=equipment,dc=example,dc=com" attrs=children
by group="cn=itpeople,ou=groups,dc=example,dc=com" write
by users read
by * none
access to dn.one="ou=equipment,dc=example,dc=com" attrs=entry
by group.exact="cn=itpeople,ou=groups,dc=example,dc=com" write
by users read
by * none
# ACL9
access to *
by self write
by group.exact="cn=hrpeople,ou=groups,dc=example,dc=com" write
by users read
by * none
Без указанных изменений
salespeople и
itpeople в соответствующие ветки
customers и
equipment писать не могут.
Вопрос №2 (и самый для меня интересный):
"Группа
itpeople, согласно политике, должна иметь возможность создавать запись
addressbook для представителей ветки
people.
И она это успешно делает. Но при этом просматривать саму эту запись,
entry (не её
children), группа
itpeople не может.
Пожалуйста разъясните, почему. Я не вижу места в ACL, которое не позволяет это делать."
Несколько часов курю документацию, но голова уже в тумане.
Версия OpenLDAP: 2.4.31, Debian