Ldap
如何在 OpenLDAP 上添加 ACL
我想為我的 OpenLDAP 上的子組織添加 ACL。
這是他們的 ACL 文件: https ://www.openldap.org/doc/admin24/access-control.html
我正在使用
ldapmodify
更新正在執行的 OpenLDAP 實例上的 ldap 數據庫。這是我導入的ldif文件:
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
任何想法為什麼?
嘗試
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