CentOS目录服务器 – 通过LDAP修改密码,传入旧密码

这可能有点奇怪,因为到目前为止,我还没有成功find解决scheme。

这是安装在CentOS 5.8中,并使用CentOS-Directory / 8.2.8 B2012.041.1227。

简单地说,我正在使用一个会提示用户更改密码的应用程序( OpenAM )。 这大部分工作正常,但如果DS设置为存储密码历史,客户端应用程序无法更改密码,不断地将“历史密码”。 这不是很有用,特别是因为我知道密码以前没有被使用过。

在用Wireshark坐下后,我看到客户端应用程序正在发送以下请求:

dn: uid=AUser,ou=People,dc=testldap changetype: modify delete: userpassword userpassword: location - add: userpassword userpassword: american_psycho 

哪个龙骨与“历史密码”。 我在命令行上尝试了同样的请求:

 $ ldapmodify -h host -p 389 -D "uid=AUser,ou=People,dc=testldap" -w location dn: uid=AUser,ou=People,dc=testldap changetype: modify delete: userpassword userpassword: location - add: userpassword userpassword: american_psycho ^D Processing MODIFY request for uid=AUser,ou=People,dc=testldap MODIFY operation failed Result Code: 19 (Constraint Violation) Additional Information: password in history 

但是,如果我尝试以下操作:

 $ ldapmodify -h host -p 389 -D "uid=AUser,ou=People,dc=testldap" -w location dn: uid=AUser,ou=People,dc=testldap changetype: modify delete: userpassword - add: userpassword userpassword: american_psycho ^D Processing MODIFY request for uid=AUser,ou=People,dc=testldap MODIFY operation successful for uid=AUser,ou=People,dc=testldap 

然后,这显然有效,唯一的区别是,我没有传递旧密码这一次。 我明白为什么你想传递一个值来删除(例如,如果它是一个多值属性),但我不明白为什么DS正在检查它的密码历史logging…

我已经检查了日志文件,即使所有的日志logging打开,我没有看到任何有用的…

没有办法configuration客户端应用程序通过旧密码发送而不自己分发,所以我真的希望有一些方法来configurationCentOS目录服务器来处理这个问题。 我知道这是由活动目录支持(或在某些时候): http : //msdn.microsoft.com/en-us/library/cc223249.aspx但我不能找出如何有这个支持CentOS DS。

 slapcat -H ldpap://host:389/uid=AUser,ou=People,dc=testldap -l export.ldif 

该命令确实将目录条目(或整个数据库)导出为LDIF格式。
如果数据库有问题,可以修复并导入LDIF文件 。