我们在我们的ldap服务器上安装ppolicy覆盖。 密码策略在X密码尝试错误后locking用户正常工作,但是我们无法强制用户更改密码。
当我们为用户设置pwdReset = TRUE属性时 – 用户可以照常从Ubuntu客户端机器login。
Ldap服务器和客户端是根据Ubuntu的设置: https : //help.ubuntu.com/12.10/serverguide/openldap-server.html
客户机使用pam_ldap
configuration文件/etc/ldap.conf有“pam_lookup_policy yes”行
但pwdReset属性被忽略。
根据我在网上阅读的内容,pam_ldap应该遵循ppolicy并且要求用户在pwdReset被设置时改变他的密码。 但它不适合我们..
如何使ubuntu客户端荣誉pwdReset属性?
也许我可以打开pam_ldap的debugging日志logging? 但我找不到如何去做
您必须确保在用户的有效密码策略pwdMustChange设置为TRUE 。
有关更多信息,请参见slapo-ppolicy联机帮助页 。
我遇到了这个 – 我的特别问题是,虽然一些第三方应用程序(在我们的例子Okta)寻找pwdReset ,但是pam_ldap插件没有。
在看过pam_ldap的源代码之后,请看https://github.com/wfhu/pam_ldap – 我得出的结论是, pam_ldap完全忽略了pwdReset ,它是OpenLDAP的ppolicy.schema一部分。 您可以在这里findOpenLDAP使用的模式: http : //www.zytrax.com/books/ldap/ape/ppolicy.html
注意:我认为问题在于OpenLDAP策略属性与使用的LDAP服务器实现(Netscape?/ UniversityOfMichigan?/ Sun?)的原始模式不同,这是pam_ldap期望的。
什么工作正确的是shadowAccount objectClass的一部分的shadow*属性。
[步骤是为Ubuntu]
通过检查pwdPolicySubentry确保您的用户在LDAP中设置了密码策略:
ldapsearch (...) -b dc=example,dc=org "(uid=testinguser)" pwdPolicySubentry
检查你的用户的shadow*信息
slapcat -a uid=testinguser
将shadowLastChange设置为0以允许pam_ldap识别到期的密码
这可以通过检查pwdReset并更新shadowLastChange的脚本完成。
当这是设置PAM将正确强制用户在login时更改密码。
另见: http : //www.openldap.org/lists/openldap-technical/201210/msg00044.html