2.8. 配置帐户策略插件以记录最后一次登录时间
您可以使用 Account Policy 插件在不设置过期时间或不活跃期限的情况下跟踪用户登录时间。在这种情况下,插件会将 lastLoginTime
属性添加到用户条目中。
按照以下步骤,在用户条目的 lastLoginTime
属性中记录用户最后一次登录时间。
流程
启用 Account Policy 插件:
dsconf <instance_name> plugin account-policy enable
# dsconf <instance_name> plugin account-policy enable
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建插件配置条目以记录登录时间:
dsconf <instance_name> plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --state-attr lastLoginTime
# dsconf <instance_name> plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --state-attr lastLoginTime
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个命令使用以下选项:
-
--always-record-login yes
:启用日志登录时间。 -
--state-attr lastLoginTime
:配置 Account Policy 插件将最后一个日志存储在用户的lastLoginTime
属性中。
-
重启实例:
dsctl <instance_name> restart
# dsctl <instance_name> restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
以某一用户身份登录 Directory 服务器。例如,运行搜索:
ldapsearch -H ldap://server.example.com -x -D "uid=example,ou=People,dc=example,dc=com" -W -b "dc=example,dc=com"
# ldapsearch -H ldap://server.example.com -x -D "uid=example,ou=People,dc=example,dc=com" -W -b "dc=example,dc=com"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示您在上一步中使用的用户的
lastLoginTime
属性:ldapsearch -H ldap://server.example.com -x -D "cn=Directory Manager" -W -b "uid=example,ou=people,dc=example,dc=com" 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
lastLoginTime
属性存在,并且 Directory 服务器更新了其值,则记录上一次登录时间可以正常工作。