web-dev-qa-db-ja.com

ユーザーがパスワードを変更できるようにするOpenLDAPACL

ユーザーがパスワードを変更できるようにするには、どのACLをslapd.confに追加する必要がありますか。現在、デフォルトのACLがあり、rootdnのみが変更する権限を許可し、匿名を含むすべての人が読み取ることができます。

4
nitins

次のようなことを試してください。

access to attrs=userPassword
        by self write
        by anonymous auth
        by users none

access to * by * read

(セキュリティ上の理由から、誰もがUserPassword属性を読み取れるようにしたくないことに注意してください。これにより、ユーザーはシャドウ/暗号化されたパスワードをすくい取って、簡単にクラックプログラムを実行できます。)


上記のaccess to attrs=userPasswordACLの要求された説明を追加するために編集します

by self write
ログインしたユーザーは、自分のuserPassword属性を書き込む(変更する)ことができます。これにより、パスワードを変更できます。

by anonymous auth
匿名ユーザー(匿名でディレクトリにバインドしたユーザー、つまりDNとパスワードを指定せずに)は、認証のみを目的としてuserPasswordにアクセスできます(たとえば、他の目的でアクセスすることはできません)。検索またはブラウジング)。

by users none
これは、ログインしたユーザーが他のユーザーのuserPassword属性にアクセスすることを拒否します。理論的にはこれもauthである可能性がありますが、通常(少なくとも私の環境では)ログインしたユーザーは別のユーザーとして認証/バインドする必要はありません。

9
voretaq7