第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 Server にログインします。たとえば、次の検索を実行します。

    # 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 Server がその値を更新した場合、最終ログイン時刻の記録が機能します。