5.4. 在帐户不活跃和密码过期时自动禁用帐户
在使用 checkAllStateAttrs
设置进行身份验证时,您可以同时应用帐户不活跃和密码过期。默认情况下,当插件配置条目中没有 checkAllStateAttrs
时,或者在将此参数设置为 no
时,插件会检查 state 属性 lastLoginTime
。如果条目中没有属性,则插件会检查备用 state 属性。
您可以将 main state 属性设置为不存在的属性,并在您希望插件根据 passwordExpirationtime
属性处理过期时将备用 state 属性设置为 passwordExpirationtime
。当您启用此参数时,它会检查 main state 属性,以及帐户是否微调,然后检查备用状态属性。
这与密码策略的密码过期不同,因为如果密码过期时间超过不活跃的限制,则帐户策略插件会完全禁用帐户。使用密码策略过期时,用户仍然可以登录并更改其密码。帐户策略插件完全阻止用户进行任何操作,管理员必须重置帐户。
流程
创建插件配置条目并启用设置:
#
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --state-attr lastLoginTime --alt-state-attr 1.1 --spec-attr acctPolicySubentry --limit-attr accountInactivityLimit --check-all-state-attrs yes
重启服务器以载入新的插件配置:
#
dsctl instance_name restart
警告checkAllStateAttrs
设置设计为仅在 alternate state 属性设置为passwordExpiratontime
时工作。将它设置为createTimestamp
可能会导致不必要的结果,条目可能会被锁定。