有没有办法禁用这些在给定宽限期内没有交互的 OpenLDAP 帐户。特别是,如果用户自 x 天以来没有登录过她的帐户(无论使用何种身份验证方式),是否可以直接禁用该帐户?
到目前为止,我只读过一些有点“黑客”的配置,强制用户在宽限期内更改密码,然后将 pwdGraceAuthnLimit 设置为 0(参见https://www.openldap.org/lists/openldap-software/200803/msg00142.html)。
然而,这并不是我想要达到的目的,也就是说,强制重置密码并不是我想要的。
谢谢!
答案1
默认情况下,OpenLDAP 不会记录上次登录,据我所知,也不会记录任何可用于/滥用来查找非活动帐户的类似数据。
但你可以使用最后绑定覆盖然后它将提供一个authTimestamp
属性:
slapd(8) 的 lastbind 覆盖允许在 authTimestamp 属性中记录目录中条目的最后一次成功绑定的时间戳。可以配置覆盖以仅当该时间戳早于给定值时才更新该时间戳,从而避免大量写入操作影响性能。此覆盖的一个示例用途是检测未使用的帐户。
安装覆盖,编辑 slapd.conf 并重新启动 OpenLDAP
# ETCDIR/slapd.conf
# ...
overlay lastbind
lastbind-precision 68400
我记得有一些注意事项,例如该authTimestamp
属性似乎特定于特定的 OpenLDAP 服务器,并且被排除在复制之外。然后,任何报告都需要查询所有 OpenLDAP 服务器以查找最近的上次登录日期。
一旦启用,您将需要创建一个脚本,查找authTimestamp
自上次成功登录以来时间超过您想象的帐户并将其锁定。