应在 slapd.conf 中添加哪些 ACL 以允许用户更改密码。我们现在有默认 ACL,仅允许 rootdn 修改,同时允许包括匿名用户在内的所有人读取。
答案1
尝试以下方法:
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
也可以这样做,但通常(至少在我的环境中)已登录用户不需要以其他用户的身份进行身份验证/绑定。