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

您可以使用 Account Policy 插件跟踪用户登录时间,而无需设置过期时间或不活跃的时间。在这种情况下,插件会将 lastLoginTime 属性添加到用户条目中。

7.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 :配置 accounts Policy 插件会在用户的 lastLoginTime 属性中存储最后一次登录的时间。
  3. 重启实例:

    # dsctl instance_name restart

验证

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

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

    # 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 Server 更新其值,则最后登录时间的记录可以正常工作。