OpenLDAP 實作僅允許 root 使用者設定帳戶密碼

OpenLDAP 實作僅允許 root 使用者設定帳戶密碼

我正在工作的應用程式需要使用 AWS ParallelCluster 資產進行某些高效能處理。初始設定後,我們需要能夠新增/刪除使用者帳戶,我正在嘗試根據這些說明其中解釋瞭如何為此目的在簇頭上設定一個簡單的 openLDAP 目錄服務。

我已成功遵循這些說明,並且能夠建立 LDAP 非管理員帳戶。以 root 身分登入時,我可以使用以下命令設定該帳戶的密碼:

sudo ldappasswd -H ldap://localhost:389 -x -D "cn=ldapadmin,dc=<stack_name>,dc=internal" -W -S uid=<username>,ou=Users,dc=<stack_name>,dc=internal -y <path/to/file/with/LDAP/password>

此時,我可以切換到新的 LDAP 非管理員帳號。不幸的是,如果以該使用者登入時執行命令 passwd,則會收到以下錯誤:

password change failed: Insufficient access
passwd: Authentication token manipulation error

如何設定 openLDAP 應用程式以便非管理員使用者可以更改自己的密碼?

答案1

您連結到的說明似乎讓您建立一個沒有存取控制的 OpenLDAP 資料庫,這基本上意味著 olcRootDn 寫入和 * 讀取。 (所有 OpenLDAP 用戶都可以讀取資料庫中的所有內容,如果他們能夠弄清楚如何繞過預設的 500 次讀取限制,甚至可以轉儲它)。你需要先調整一下。

最小可行:

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to attrs=userPassword
  by self write
  by * auth
olcAccess: {1}to *
  by * read

相關內容