Ssh
OPENLDAP 2.4 ,只允許匿名訪問以獲取使用者公鑰
我正在嘗試執行以下操作:我有 openldap 2.4.45 伺服器(測試),其中包含這樣的使用者、組:
o=Example(dc=example,dc=com) ou=users uid=alice uid=bob PublicKey="...." ou=Groups cn=group1 cn=group2
我需要將應用程序連接到此伺服器。DIT 中的一些使用者有一個 publicKey(如 bob),我想要的是匿名綁定可以獲取任何使用者的 PublicKey,如果它知道確切的 DN(例如 dn:uid=bob,ou=users,dc=example,dc= com),但我不希望匿名綁定能夠讀取其他屬性
我嘗試執行以下操作
olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none olcAccess: {1}to attrs=shadowLastChange by self write by * read olcAccess: {2}to attrs=PublicKey by * read stop olcAccess: {3}to * by * none
但是當我嘗試這個請求時
ldapsearch -x -b "dc=example,dc=com" -LLL '(&(objectClass=posixAccount)(uid='"bob"'))' 'PublicKey'
我得到一個“沒有這樣的對象(32)”,但是如果我允許通過 * 讀取訪問 *,我會得到使用者 bob 的 PublicKey。
我怎樣才能做到這一點?
你必須
- 至少授予
search
搜尋根條目的權限dc=example,dc=com
- 授予包含屬性PublicKey
read
的條目的偽屬性條目的權限