認証プロセス中のモジュールの動作 (続行または失敗) を決定するには、PAM 構成ファイル /etc/pam.conf の各エントリに対して、4 つの制御フラグのいずれかを選択する必要があります。制御フラグは、各モジュールで成功と失敗がどのように処理されるかを示します。これらのフラグはすべてのモジュールに適用されますが、次の説明では、これらのフラグは認証モジュールで使用されていると仮定します。制御フラグは、次のとおりです。
required - 認証が成功するには、この制御フラグを適用したモジュールが成功する必要があります。
すべてのモジュールに required フラグを付けた場合、ユーザーの認証が成功するには、すべてのモジュールの認証が成功する必要があります。
一部のモジュールが失敗した場合、最初に失敗したモジュールのエラー値が報告されます。
required フラグを付けたモジュールが失敗しても、スタック中のすべてのモジュールは継続して処理されますが、失敗が返されます。
どのモジュールにも required フラグを付けなかった場合、ユーザーの認証が成功するには、そのサービスの少なくとも 1 つのエントリが成功する必要があります。
requisite - 後続の認証を続行するには、この制御フラグを適用したモジュールが成功する必要があります。
requisite フラグの付いたモジュールが失敗した場合、すぐにエラーがアプリケーションに返され、それ以上認証は行われません。スタック中で、このモジュールより前に required というラベルの付いたモジュールが失敗していなければ、このモジュールからのエラーが返されます。このモジュールより前に、required というラベルの付いたモジュールが失敗している場合は、required モジュールからのエラーメッセージが返されます。
optional - この制御フラグを適用したモジュールが失敗した場合、このスタック内の他のモジュールが成功を返せば、最終的に成功になります。
optional 制御フラグは、ユーザーを認証するにはスタック内の他のモジュールのどれかが成功すれば十分であるという場合に使用します。このフラグは特定のモジュールが成功するということがそれほど重要でない場合に使用します。
ユーザーが作業を行う上で、特定のメカニズムでアクセス権を取得する必要がある場合はこのフラグを使用しないでください。
sufficient - この制御フラグを適用したモジュールが終了した場合、スタック内の残りのモジュールはスキップされます。この場合、required フラグを適用したモジュールも省略されます。
sufficient 制御フラグは、1 つの認証が成功すると、ユーザーにアクセス権を与えてもかまわないことを示します。
これらの制御フラグの詳細については、次の節を参照してください。次の節では、デフォルトの /etc/pam.conf ファイルについて説明します。