PAM は、実行時に取り外しが可能なモジュールを使用して、システムに入るためのサービスに認証を提供します。これらのモジュールは、その機能に基づき、4 つの異なるタイプに分かれます。認証、アカウント管理、セッション管理、およびパスワード管理です。スタッキング機能によって、複数のサービス経由でユーザーを認証できます。また、パスワードマッピング機能によって、ユーザーは複数のパスワードを覚えておく必要がありません。
モジュールタイプはモジュールのインターフェースを定義するため、PAM モジュールのタイプを理解することは重要です。実行時 PAM モジュールには、次の 4 つのタイプがあります。
「認証モジュール」は、ユーザーの認証を提供して、資格を設定、更新、または削除できます。認証モジュールは、ユーザーの識別に役立つ管理ツールを提供します。
「アカウントモジュール」は、パスワードの有効期限、アカウントの有効期限、およびアクセス時間制限をチェックします。アカウントモジュールは、認証モジュールでユーザーを識別した後に、そのユーザーにアクセス権を与えるべきかどうかを決定します。
「セッションモジュール」は、認証セッションの開閉を管理します。セッションモジュールは、動作を記録したり、セッション終了後のクリーンアップを実行したりできます。
「パスワードモジュール」によって、実際のパスワードを変更できます。
PAM フレームワークは、「スタッキング機能」を使用して、複数のサービスでユーザーを認証する方法を提供します。構成によって、認証方法ごとにパスワードを求めるプロンプトをユーザーに出すことも可能です。認証サービスが使用される順序は、PAM 構成ファイルで決定されます。
スタッキング機能を使った方法では、ユーザーが複数のパスワードを覚えておかなければなりません。「パスワードマッピング機能」を使用すれば、主要パスワードから他のパスワードを復号できるので、ユーザーは複数のパスワードを覚えたり入力したりする必要がありません。各認証機構間でパスワードの同期を取るためのオプションもあります。スタック内で使用される最も安全性の低いパスワードによって各機構のセキュリティが制限されてしまうので、この方法はセキュリティの危険性を増大してしまうことに注意してください。