17.4. アカウントのステータス (アクティブかどうか) とパスワードの有効期限の両方でアカウントを自動的に無効にする

checkAllStateAttrs 設定を使用してユーザーの認証時に、アカウントのステータス (アクティブかどうか)、またパスワードの有効期限の両方を適用できます。デフォルトでは、プラグイン設定エントリーに checkAllStateAttrs が存在しない場合、またはこのパラメーターを no に設定した場合、プラグインは状態属性 lastLoginTime をチェックします。属性がエントリーに存在しない場合には、プラグインは別の状態属性をチェックします。

プラグインが passwordExpirationtime 属性に基づいて有効期限を処理するようにする場合は、メインの状態属性を存在しない属性に設定し、別の状態属性を passwordExpirationtime に設定できます。このパラメーターを有効にすると、主な状態属性をチェックし、アカウントに問題がある場合は、別の状態属性を確認します。

これは、passwordExpirationtime がアクティブではない期間の制限を超えると、アカウントポリシープラグインがアカウントを完全に無効にするという点で、パスワードポリシーのパスワード有効期限とは異なります。パスワードポリシーの有効期限が切れても、ユーザーは引き続きログインしてパスワードを変更できます。アカウントポリシープラグインはユーザーの操作を完全にブロックするため、管理者はアカウントをリセットする必要があります。

手順

  1. プラグイン設定エントリーを作成し、設定を有効にします。

    # 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
  2. サーバーを再起動して、新しいプラグイン設定を読み込みます。

    # dsctl instance_name restart
    警告

    checkAllStateAttrs 設定は、別の state 属性が passwordExpiratontime に設定されている場合にのみ機能するように設計されています。これを createTimestamp に設定すると、予想外の結果が発生し、エントリーがロックアウトされる可能性があります。