Amazon-Web-Services
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 應用程序,以便非管理員使用者可以更改自己的密碼?
您連結的說明似乎讓您創建了一個沒有訪問控制的 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