我已经按照 OpenLDAP 提到的过程创建了密码策略但是当我通过扩展操作更改用户密码时,我没有观察到它的效果。我得到了响应控制,但它只有警告而不是错误。
所以问题是我身边缺少什么?如何强制执行密码策略以使用扩展操作来重置密码?一旦我定义了密码策略,它是否适用于 OpenLDAP 服务器中的所有现有用户?还是只适用于新用户?
我已经按照 OpenLDAP 提到的过程创建了密码策略但是当我通过扩展操作更改用户密码时,我没有观察到它的效果。我得到了响应控制,但它只有警告而不是错误。
所以问题是我身边缺少什么?如何强制执行密码策略以使用扩展操作来重置密码?一旦我定义了密码策略,它是否适用于 OpenLDAP 服务器中的所有现有用户?还是只适用于新用户?
您不得将 ManagerDN 帐户用于自己的任何事情。它绕过所有覆盖,让您可以无限访问您不想要的 DIT。
您的应用程序应该以用户身份运行,并且 DIT 中的条目在配置中被赋予了适当的权限。
我为此定义了管理员组,所有应用程序和人工管理员都是其中的一部分,这使得配置更简单(并且稍后添加/更改管理员或应用程序更简单)。我的slapd.conf
语法是这样的:将其转换为slapd.d
在线语法留给读者作为练习。请注意,您必须更改基本 DN 等以适合您自己的 DIT,可能还有组类和属性名称。
access to attrs=userPassword
by dn.exact="cn=Manager,dc=XXX,dc=com" write
by group/groupOfUniqueNames/uniqueMember="cn=LDAP admins,ou=Groups,dc=XXX,dc=com" write
by group/groupOfUniqueNames/uniqueMember="cn=Applications,ou=Groups,dc=XXX,dc=com" write
by anonymous auth
by self write
by * none
access to *
by self write
by dn="cn=Replicator,dc=XXX,dc=com,c=us" write
by dn.exact="cn=Manager,dc=XXX,dc=com" write
by group/groupOfUniqueNames/uniqueMember="cn=LDAP admins,ou=Groups,dc=XXX,dc=com" write
by group/groupOfUniqueNames/uniqueMember="cn=Applications,ou=Groups,dc=XXX,dc=com" write
by users read
by anonymous search
by * none
请注意,此设置还允许用户更改自己的密码,因此您现在可以在这样做时以用户身份绑定。