ユーザーがパスワードを変更できるようにするには、どのACLをslapd.confに追加する必要がありますか。現在、デフォルトのACLがあり、rootdnのみが変更する権限を許可し、匿名を含むすべての人が読み取ることができます。
次のようなことを試してください。
access to attrs=userPassword
by self write
by anonymous auth
by users none
access to * by * read
(セキュリティ上の理由から、誰もがUserPassword
属性を読み取れるようにしたくないことに注意してください。これにより、ユーザーはシャドウ/暗号化されたパスワードをすくい取って、簡単にクラックプログラムを実行できます。)
上記のaccess to attrs=userPassword
ACLの要求された説明を追加するために編集します
by self write
ログインしたユーザーは、自分のuserPassword属性を書き込む(変更する)ことができます。これにより、パスワードを変更できます。
by anonymous auth
匿名ユーザー(匿名でディレクトリにバインドしたユーザー、つまりDNとパスワードを指定せずに)は、認証のみを目的としてuserPasswordにアクセスできます(たとえば、他の目的でアクセスすることはできません)。検索またはブラウジング)。
by users none
これは、ログインしたユーザーが他のユーザーのuserPassword属性にアクセスすることを拒否します。理論的にはこれもauth
である可能性がありますが、通常(少なくとも私の環境では)ログインしたユーザーは別のユーザーとして認証/バインドする必要はありません。