我打算将check_mk 的多站点与 OpenLDAP集成。配置 LDAP 连接器后,打开“用户和联系人”页面时出现以下错误:
Error executing sync hook
The "Authentication Expiration" attribute (pwdchangedtime) could not
be fetchedfrom the LDAP server for user {u'cn': [u'noreply']}.
以下是我为实施密码策略覆盖所做的所有步骤:
为 OpenLDAP 服务器安装覆盖模块:
yum install openldap-servers-overlays
将以下行添加到 /etc/openldap/slapd.conf:
include /etc/openldap/schema/ppolicy.schema
modulepath /usr/lib64/openldap
moduleload ppolicy.la
然后我重新启动 OpenLDAP 并尝试更改密码。我确定它已成功更改,但pwdChangedTime
在运行时我没有看到该属性ldapsearch
:
$ ldapsearch -x -D "cn=Manager,dc=domain,dc=com" -y .passwd.cnf "cn=noreply"
dn: cn=noreply,ou=it,dc=domain,dc=com
cn: noreply
mail: noreply at domain.com
maildrop: noreply at domain.com
sn: No
uid: noreply
objectClass: inetOrgPerson
objectClass: mailUser
objectClass: organizationalPerson
objectClass: person
objectClass: top
objectClass: pwdPolicy
objectClass: pwdPolicyChecker
pwdAttribute: userPassword
pwdMaxAge: 31536000
pwdMinAge: 60
pwdAllowUserChange: TRUE
userPassword: {MD5}xx
我错过了什么?
实际上,该
pwdChangedTime
属性已经创建,但由于它是一个操作属性,因此默认情况下不返回。ldapsearch
你必须用这个名字做一个:或将加号 (
+
) 附加到ldapsearch
:要将此属性添加到在实施密码策略覆盖之前创建的所有用户,您可以简单地
userPassword
使用相同的值更新: