Openldap
授予對 authzTo 屬性的訪問權限
我正在嘗試授予某些帳戶對其
authzTo
屬性的身份驗證訪問權限,以允許代理授權。我嘗試添加這個 ldif:
dn: olcDatabase={-1}frontend,cn=config changetype: modify add: olcAccess olcAccess: {1}to authzTo by dn.children="ou=Special Accounts,dc=example,dc=com" auth -
使用命令
ldapadd -f perm.ldif -D "cn=admin,cn=config" -W
但收到此錯誤:
modifying entry "olcDatabase={-1}frontend,cn=config" ldap_modify: Other (e.g., implementation specific) error (80) additional info: <olcAccess> handler exited with 1
使用詳細輸出並調高調試級別並沒有給我更多線索。誰能看到我做錯了什麼?
在處理了其他一些權限之後,意識到我在做什麼愚蠢。它應該是
attrs=authzTo
,而不僅僅是authzTo
它本身。而我真正想要的是to dn.children="ou=Special Accounts,dc=example,dc=com" attrs=authzTo by self auth
編輯:OP 明確詢問了“auth”,而不是“write”訪問,所以這個答案不是很相關。
我意識到我在這個問題上遲到了 8 年,但我認為需要注意的是,允許對自己的 authzTo 屬性進行寫訪問是個壞主意。
源規則非常強大。如果普通使用者有權在他們自己的條目中寫入 authzTo 屬性,那麼他們可以編寫允許他們像其他任何人一樣授權的規則。因此,在使用源規則時,authzTo 屬性應使用僅允許特權使用者設置其值的 ACL 進行保護。