このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
Pluggable Authentication Modules (PAM)機能は、アプリケーションで認証を使用してユーザーのアイデンティティを検証する方法を構成するための認証メカニズムです。 /etc/pam.d
ディレクトリにあるPAM構成ファイルには、アプリケーションでの認証手順が記述されています。 各構成ファイルの名前は、モジュールが認証を提供するアプリケーションの名前と同じかほぼ同じす。 たとえば、passwdおよびsudoの構成ファイルの名前は、passwd
およびsudo
です。
各構成ファイルには、認証モジュールに対するコールのリスト(スタック)が含まれます。 たとえば、次に示すのはlogin
構成ファイルのコンテンツです。
#%PAM-1.0 auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so auth include system-auth account required pam_nologin.so account include system-auth password include system-auth # pam_selinux.so close should be the first session rule session required pam_selinux.so close session required pam_loginuid.so session optional pam_console.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session required pam_selinux.so open session required pam_namespace.so session optional pam_keyinit.so force revoke session include system-auth -session optional pam_ck_connector.so
ファイルのコメントは#
文字で始まります。 残りの各行で、操作タイプ、制御フラグ、pam_rootok.so
などのモジュール名またはsystem-auth
などの含まれている構成ファイル名、およびモジュールに対する引数を定義しています。 PAMでは、認証モジュールが32および64ビット共有ライブラリとして、それぞれ/lib/security
および/lib64/security
に用意されています。
特定の操作タイプの場合、PAMは上から下にスタックを読み取って、構成ファイルに表示されているモジュールをコールします。 各モジュールはコールされると、結果(成功または失敗)を生成します。
使用する操作タイプとして、次のタイプが定義されています。
-
auth
モジュールは、サービスまたはアプリケーションを使用するために、ユーザーが認証または認可されているかどうかをテストします。 たとえば、モジュールはパスワードをリクエストおよび検証できます。 こうしたモジュールは、グループ・メンバーシップやKerberosチケットなどの資格証明を設定することもできます。
-
account
モジュールは、認証されたユーザーがサービスまたはアプリケーションへのアクセスを許可されているかどうかをテストします。 たとえば、モジュールはユーザー・アカウントが期限切れかどうか、またはユーザーが指定の時間にサービスの使用を許可されているかどうかを確認できます。
-
password
モジュールは、認証トークンへの更新を処理します。
-
session
モジュールは、ユーザーのホーム・ディレクトリのマウントやアンマウントなどの作業を実行して、ユーザー・セッションを構成および管理します。
操作タイプの前にダッシュ(-
)が付いていると、そのモジュールがない場合にPAMはシステム・ログ・エントリを作成および追加しません。
include
以外の制御フラグは、PAMにモジュールの実行結果に対して行う動作を通知します。 使用する制御フラグとして、次のフラグが定義されています。
-
optional
それがサービスにリストされている唯一のモジュールである場合、認証にはそのモジュールが必要です。
-
required
アクセスを付与するには、モジュールが成功する必要があります。 PAMはモジュールが成功しても失敗しても、スタックの残りのモジュールの実行を継続します。 PAMは、失敗をただちにユーザーに通知しません。
-
requisite
アクセスを付与するには、モジュールが成功する必要があります。 モジュールが成功した場合、PAMはスタック内の残りのモジュールの実行を継続します。 ただし、モジュールが失敗した場合、PAMはただちにユーザーに通知して、スタック内の残りのモジュールの実行を継続しません。
-
sufficient
モジュールが成功した場合、PAMは同じ操作タイプの残りのモジュールを処理しません。 ジュールが失敗した場合、PAMは同じ操作タイプの残りのモジュールを処理して、全体的な成功または失敗を判断します。
制御フラグ・フィールドでは、モジュールから返された値に応じてPAMが実行すべきアクションを指定する1つ以上のルールも指定できます。 各ルールは、
というフォームをとり、ルールは大カッコで囲まれます。次に例を示します。
value
=action
[user_unknown=ignore success=ok ignore=ignore default=bad]
モジュールから返された結果が値と一致する場合、PAMは対応するアクションを使用し、一致しない場合は、デフォルトのアクションを使用します。
include
フラグは、PAMが引数として指定されたPAM構成ファイルも参照すべきであることを示します。
ほとんどの認証モジュールおよびPAM構成ファイルには、それぞれ独自のマニュアル・ページがあります。 また、/usr/share/doc/pam-
ディレクトリには、『PAM System Administrators' Guide』(version
html/Linux-PAM_SAG.html
またはLinux-PAM_SAG.txt
)およびPAM標準のコピー(rfc86.0.txt
)も含まれています。
詳細は、pam(8)
マニュアル・ページを参照してください。 また、各PAMモジュールには、pam_unix(8)
などの独自のマニュアル・ページがあります。