17.4. アカウントのステータス (アクティブかどうか) とパスワードの有効期限の両方でアカウントを自動的に無効にする
checkAllStateAttrs
設定を使用してユーザーの認証時に、アカウントのステータス (アクティブかどうか)、またパスワードの有効期限の両方を適用できます。デフォルトでは、プラグイン設定エントリーに checkAllStateAttrs
が存在しない場合、またはこのパラメーターを no
に設定した場合、プラグインは状態属性 lastLoginTime
をチェックします。属性がエントリーに存在しない場合には、プラグインは別の状態属性をチェックします。
プラグインが passwordExpirationtime
属性に基づいて有効期限を処理するようにする場合は、メインの状態属性を存在しない属性に設定し、別の状態属性を passwordExpirationtime
に設定できます。このパラメーターを有効にすると、主な状態属性をチェックし、アカウントに問題がある場合は、別の状態属性を確認します。
これは、passwordExpirationtime がアクティブではない期間の制限を超えると、アカウントポリシープラグインがアカウントを完全に無効にするという点で、パスワードポリシーのパスワード有効期限とは異なります。パスワードポリシーの有効期限が切れても、ユーザーは引き続きログインしてパスワードを変更できます。アカウントポリシープラグインはユーザーの操作を完全にブロックするため、管理者はアカウントをリセットする必要があります。
手順
プラグイン設定エントリーを作成し、設定を有効にします。
#
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
サーバーを再起動して、新しいプラグイン設定を読み込みます。
#
dsctl instance_name restart
警告checkAllStateAttrs
設定は、別の state 属性がpasswordExpiratontime
に設定されている場合にのみ機能するように設計されています。これをcreateTimestamp
に設定すると、予想外の結果が発生し、エントリーがロックアウトされる可能性があります。