10.4. PAM 設定ファイルについて
PAM 設定ファイルは、Red Hat Enterprise Linux のサービスの認証方法とポリシーを指定します。各 PAM 対応アプリケーションまたはサービスには、/etc/pam.d/
ディレクトリー内に対応するファイルがあります。ファイルは、アクセスを制御するサービスにちなんで命名されます。たとえば、login
プログラムには、/etc/pam.d/login
という名前の、対応する PAM 設定ファイルがあります。
PAM 設定ファイルを手動で編集すると、認証やアクセスの問題が発生する可能性があります。authselect
ツールを使用して PAM を設定します。
PAM 設定ファイル形式
各 PAM 設定ファイルは、特定のモジュールの設定を定義するディレクティブで構成されています。PAM はいくつかのモジュール向けの認証中に引数を使用して情報をプラグ可能なモジュールに渡します。
module_type control_flag <module_name> <module_arguments>
module_type control_flag <module_name> <module_arguments>
以下に例を示します。
auth required pam_unix.so
auth required pam_unix.so
PAM モジュールタイプ
PAM モジュールタイプは、モジュールが実行する認証タスクのタイプを指定します。モジュールは次のタスクを実行できます。
- アカウント管理
- 認証管理
- パスワード管理
- セッション管理
個々のモジュールは、任意のモジュールタイプまたはすべてのモジュールタイプを提供できます。たとえば、pam_unix.so
は 4 つのモジュールタイプをすべて提供します。
pam_unix.so
などのモジュール名は、指定されたモジュールタイプを含むライブラリーの名前を PAM に提供します。ディレクトリー名は省略されています。アプリケーションが適切なバージョンの libpam
にリンクされており、正しいバージョンのモジュールを検出できるためです。
モジュールタイプのディレクティブは積み重ねたり、重ねて配置したりできるため、複数のモジュールを 1 つの目的で一緒に使用できます。モジュールの順序は、制御フラグとともに重要であり、サービスに対するユーザーの認証という全体的な目標に対して、特定のモジュールの成功または失敗がどの程度重要であるかを決定します。
PAM モジュールをスタックして、ユーザーが認証される前に満たす必要がある特定の条件を適用できます。
PAM 制御フラグ
PAM モジュールが機能を実行すると、成功または失敗の結果が返されます。制御フラグは、この結果をどのように処理するかを PAM に指示します。
単純なフラグではキーワードを使用します。より複雑な構文は [<value1>=<action1> <value2>=<action2> …]
という形式に従います。
モジュールの制御フラグが sufficient
な値または requisite
な値を使用する場合は、モジュールがリストされる順序は認証プロセスにとって重要になります。
オプションのリストを含む PAM 制御フラグの詳細な説明は、pam.conf(5)
の man ページを参照してください。