Я хочу добавить ACL для дочерней организации в моем OpenLDAP.
Вот их документация ACL: https://www.openldap.org/doc/admin24/access-control.html
Я использую ldapmodify
для обновления базы данных ldap на работающем экземпляре OpenLDAP.
ЭтолдифФайл, который я импортировал:
vim ro_access.ldif
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {2}to dn.children="ou=users,dc=example,dc=com" by dn.exact="cn=workstation,ou=applications,dc=example,dc=com" read
Я жду
- должен
cn=workstation,ou=applications,dc=example,dc=com
уметь читать детей подou=users,dc=example,dc=com
- должно
auth
иметь предыдущее поведение по умолчанию. - должно
anonymous
иметь предыдущее поведение по умолчанию.
У меня есть
ldapwhoami
работать сcn=workstation,ou=applications,dc=example,dc=com
ldapsearch
не удалось вернуть результатuid=someone,ou=users,dc=example,dc=com
сcn=workstation,ou=applications,dc=example,dc=com
Редактировать
Я пробовал заменить olcAccess
{1}
на {2}
и {2}
на {1}
.
Это полностью замененный ACL, и он тоже не работает:
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by self write by dn="cn
=admin,dc=example,dc=com" write by dn="cn=ropw,dc=example,dc=co
m" read by anonymous auth by * none
olcaccess: {1}to dn.children="ou=users,dc=example,dc=com" by dn
.exact="cn=workstation,ou=applications,dc=example,dc=com" read
olcaccess: {2}to * by self write by dn="cn=admin,dc=example,dc=com" write
by dn="cn=ro,dc=example,dc=com" read by dn="cn=ropw,dc=exam
ple,dc=com" read by * none
Есть идеи почему?
решение1
Попробуйте добавить by anonymous auth by * none
в конец директивы ACL:
olcAccess: {1}to dn.children="ou=users,dc=example,dc=com" by dn
.exact="cn=workstation,ou=applications,dc=example,dc=com" read
by anonymous auth by * none