機械翻訳について

Pluggable Authentication Moduleについて

Pluggable Authentication Modules (PAM)機能は、sssdプロファイルで使用される認証メカニズムで、アプリケーションで認証を使用してユーザーのアイデンティティを検証する方法を構成できます。 /etc/pam.dディレクトリにあるPAM構成ファイルでは、アプリケーションの認証手順について説明します。 各構成ファイルの名前は、モジュールが認証を行うアプリケーションの名前と同じか、それに類似しています。 たとえば、passwdおよびsudoの構成ファイルの名前は、passwdおよびsudoです。

各PAM構成ファイルには、認証モジュールに対するコールのリストまたはスタックが含まれます。 たとえば、次のリストでは、login構成ファイルのデフォルト・コンテンツを示します。

#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       include      system-auth
auth       include      postlogin
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    include      postlogin
-session   optional     pam_ck_connector.so

ファイル内のコメントは、#文字で始まります。 残りの各行で、操作タイプ、制御フラグ、pam_rootok.soなどのモジュール名またはsystem-authなどの含まれている構成ファイル名、およびモジュールに対する引数を定義しています。 PAMは/usr/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(8)マニュアル・ページを参照してください。 また、それぞれのPAMモジュールには、pam_unix(8)postlogin(5)system-auth(5)など独自のマニュアル・ページがあります。