带有 ppolicy 插件的 OpenLdap:是否可以自动删除 pwdFailureTime 属性?

带有 ppolicy 插件的 OpenLdap:是否可以自动删除 pwdFailureTime 属性?

OpenLdap 2.4.* 正在使用,带有 ppolicy 插件

我注意到 pwdFailureTime 多值属性已被添加到 LDAP 数据库,但看起来它从未被删除。

有没有简单的方法可以自动删除该属性的旧值?我不喜欢看到数据库保存越来越多的此类记录。

我可以从 LDAP 备份中过滤出虚假值并使用 slapadd 重新添加整个数据库,但如果有更简单的解决方案就更好了。

答案1

pwdFailureTime当用户成功绑定时,该属性将被删除。

它被添加到每个用户对象中,以跟踪自上次成功绑定以来发生了多少次失败的绑定,这是使用覆盖的全部目的的一部分,ppolicy因此转储并重新加载数据库以摆脱它们实际上没有任何意义。

策略对象中的属性pwdMaxFailure设置在触发属性定义的操作之前跟踪多少次失败绑定pwdLockout。默认值为 0,这意味着跟踪的失败次数不受限制(这可能解释了您看到的行为),但如果您将其设置为非零数字,则pwdLockout在发生如此多次失败后,您将触发默认值为 true 的操作。这意味着用户将被锁定在其帐户之外,但是如果用户对象正在积累pwdFailureTime属性值,以至于您不愿意看到它们,则意味着它们无论如何都没有成功绑定。

您还可以尝试pwdFailureCountInterval在策略对象上设置属性,根据文档,该属性将在value秒后重置失败的密码计数,我认为这会清除所有pwdFailureTime属性以实现这一点,但随后您将更改用于跟踪失败绑定的启发式方法。

相关内容