第 19 章 在不设置锁定策略的情况下跟踪最后的登录时间

您可以使用帐户策略插件来跟踪用户登录时间,而不设置过期时间或不活跃的时间。在本例中,插件将 lastLoginTime 属性添加到用户条目。

19.1. 配置帐户策略插件以记录最后的登录时间

按照以下步骤在用户条目的 lastLoginTime 属性中记录用户的最后登录时间。

流程

  1. 启用帐户策略插件:

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin account-policy enable
  2. 创建插件配置条目来记录登录时间:

    # 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

    这个命令使用以下选项:

    • --always-record-login yes: 启用日志记录时间。
    • --state-attr lastLoginTime :配置帐户策略插件将最后登录时间存储在用户的 lastLoginTime 属性中。
  3. 重启实例:

    # dsctl instance_name restart

验证

  1. 以某一用户身份登录 Directory 服务器。例如,运行搜索:

    # ldapsearch -H ldap://server.example.com -x -D "uid=example,ou=People,dc=example,dc=com" -W -b "dc=example,dc=com"
  2. 显示您在上一步中使用的用户的 lastLoginTime 属性:

    # ldapsearch -H ldap://server.example.com -x -D "cn=Directory Manager" -W -b "uid=example,ou=people,dc=example,dc=com" lastLoginTime
    ...
    dn: uid=example,ou=People,dc=example,dc=com
    lastLoginTime: 20210913091435Z

    如果 lastLoginTime 属性存在,并且 Directory 服务器更新了其值,则最后一次登录时间记录可以正常工作。