我在 Centos 7 Server 上安装了以下 Openldap 版本:
ldapsearch:@(#) $OpenLDAP:ldapsearch 2.4.40(2016 年 3 月 31 日 15:24:47)$ [电子邮件保护]:/builddir/build/BUILD/openldap-2.4.40/openldap-2.4.40/clients/tools (LDAP 库:OpenLDAP 20440)
我的客户端也是Centos 7。
当“ShadowLastChange”设置为“0”以强制使密码过期时,一切都正常工作。
系统提示我更改密码,并且密码已更改并且 ShadowLastChange 也已更改,但是当我再次尝试登录时,系统会提示我在每次登录时更改密码:
您需要立即更改密码(密码已过期) 密码已于 16560 天前过期 上次登录:2016 年 9 月 15 日星期四 22:14:19 警告:您的密码已过期。 您必须立即更改密码并重新登录! 更改用户 test.ldap 的密码。 (当前)LDAP 密码: 新密码:
我阅读了以下与此相关的链接:
https://serverfault.com/questions/215196/not-able-to-update-shadowlastchange-value-for-ldap
nis.schema 上的 shadowLastChange 属性是正确的:
属性类型(1.3.6.1.1.1.1.5 NAME‘shadowLastChange’ 相等整数匹配 语法 1.3.6.1.4.1.1466.115.121.1.27 单值 )
此外,我的 shadowLAstChanged 属性通过更改密码而改变,但每次登录时仍提示更改密码。
有人能给我指出正确的方向吗?
谢谢!
答案1
在 ubuntu 16.04 上也是一样。解决方法 - 我将这一行添加到 /etc/ldap.conf。
nss_default_attribute_value shadowLastChange 20000