私はUbuntu 14.04にldap 2.4.3をインストールしました。 pwdPolicyオーバーレイを設定しました。ユーザーが自分のパスワードを変更したとき、および管理者がパスワードを変更したときに機能します。問題は、管理者がパスワードを変更するときにポリシーが遵守されないということです。そこでusermanagementという別のアカウントを作成し、oclAccessにdnを追加しました。 userpassword以外のusermanagementアカウントを使用して試したすべてのフィールドを修正できます。ldap oclAccessがpwdPolicyで動作しないようです
ldappasswdを実行しているとき、私はInsufficient access (50)
を得る。これは私のolcAccessです:
olcAccess: {0}to attrs=userPassword,shadowLastChange by self write by dn="cn=admin,dc=zed,dc=com" write by dn="cn=usermanagement,dc=zed,dc=com" write by anonymous auth by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by self write by dn="cn=admin,dc=zed,dc=com" write by dn="cn=usermanagement,dc=zed,dc=com" write by * read
編集
私はデバッグを有効にしてからldappasswd -H ldap://localhost -x -D "uid=luis,ou=users,dc=zed,dc=com" -W -S "uid=vixian,ou=users,dc=zed,dc=com"
を実行しました。ログは示しています
983c0f8 bdb_dn2entry("cn=passworddefault,ou=policies,dc=zed,dc=com")
5983c0f8 => bdb_entry_get: found entry: "cn=passworddefault,ou=policies,dc=zed,dc=com"
5983c0f8 bdb_entry_get: rc=0
5983c0f8 change password must use DELETE followed by ADD/REPLACE
5983c0f8 send_ldap_result: conn=1004 op=1 p=3
5983c0f8 send_ldap_result: err=50 matched="" text="Must supply old password to be changed as well as new one"
5983c0f8 send_ldap_extended: err=50 oid= len=0
5983c0f8 send_ldap_response: msgid=2 tag=120 err=50
私はその後のldapmodifyを使用したuserPasswordを削除しようとしましたが、それは成功したが、同じ結果の許可拒否を生成交換または追加します。
私は@ejp提案以下olcAccessを更新しました:
olcAccess: {0}to attrs=userPassword,shadowLastChange
by group/groupOfUniqueNames/uniqueMember.exact="cn=itinst,ou=groups,dc=zed,dc=com" write
by anonymous auth
by self write
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to *
by self write
by group/groupOfUniqueNames/uniqueMember.exact="cn=itinst,ou=groups,dc=zed,dc=com" write
by users read by anonymous search
私はolcAccesssから管理者を削除しました。おそらく私の設定はフォーマットの欠如によって間違っていますが、匿名は書き込みアクセス権が与えられていません。私はDITにアカウントを追加しましたが、まだアクセスが不十分です。 – Luis
OK私は誤読し、それを修正し、編集を参照してください。あなたはパスワードポリシーのエントリーを投稿できますか? 'ppolicy'の設定は? – EJP