EN JA
PAM.CONF(5)
PAM.CONF(5) FreeBSD File Formats Manual PAM.CONF(5)

名称

pam.confPAM ポリシファイル形式

解説

PAM ライブラリは、優先順位の順序を下げて、次のファイルのポリシを検索します:
  1. /etc/pam.d/service-name
  2. /etc/pam.conf
  3. /usr/local/etc/pam.d/service-name
  4. /usr/local/etc/pam.conf

これらの位置が与えられたサービスのためのポリシを含んでいないなら、“ 他の”ポリシが、存在しているなら、代わりに使用されます。

サービスポリシファイルごとのエントリは、以下の 2 つの形式の 1 つでなければなりません:

facility control-flag module-path [arguments ...] 
facility include other-service-name

pam.conf-スタイルのポリシファイルのエントリは、同じ形式がありますが、それらが適用するサービスの名前を指定する追加フィールドが前に置かれます。

両方の場合に、空白行、と‘ #’サインから始まるコメントは、無視され、通常のシェルの引用規則が、適用されます。ファイルがどのようにトークン化されるかについての正確な詳細は、 openpam_readword(3) に記述されています。

facility フィールドは、適用するエントリの機能を指定します、そして、次のうちの 1 つです:

auth
認証関数 (Authentication functions) ( pam_authenticate(3), pam_setcred(3))
account
アカウント管理関数 (Account management functions) ( pam_acct_mgmt(3))
session
セッション操作関数 (Session handling functions) ( pam_open_session(3), pam_close_session(3))
password
パスワード管理関数 (Password management functions) ( pam_chauthtok(3))

control-flag フィールドは、モジュールによって返された結果がチェーンの残り (の最終的な結果) を通してコントロールの流れにどのように影響するかを決定します、そして次のうちの 1 つです:

required
このモジュールが成功するなら、チェーンの結果は、後のモジュールが失敗しない限り、成功します。失敗するなら、チェーンの残りはまだ実行していますが、最終的な結果は後のモジュールの成功にかかわらず失敗します。
requisite
このモジュールが成功するなら、チェーンの結果は、後のモジュールが失敗しない限り、成功します。モジュールが失敗するなら、チェーンは壊れており、結果は失敗です。
sufficient
このモジュールが成功するなら、チェーンは壊れており、結果は成功です。失敗するなら、チェーンの残りはまだ実行していますが、最終的な結果は、後のモジュールが成功しない限り、失敗します。
binding
このモジュールが成功するなら、チェーンは壊れており、結果は成功です。失敗するなら、チェーンの残りはまだ実行していますが、最終的な結果は、後のモジュールの成功にかかわらず失敗します。
optional
このモジュールが成功するなら、チェーンの結果は、後のモジュールが失敗しない限り成功します。このモジュールが失敗するなら、チェーンの結果は、後のモジュールが成功しない限り、失敗します。

上記の 2 つの例外があります: sufficientbinding モジュールは、 pam_setcred(3) によって オプション として、そして、 pam_chauthtok(3)PAM_PRELIM_CHECK フェーズで取り扱われます。

module-path フィールドは、呼び出す呼ぶモジュールの、名前またはフルパスを指定します。名前のみが指定されるなら、PAM ライブラリは、次の位置で、それを検索します:

  1. /usr/lib
  2. /usr/local/lib

残りのフィールドは、もしあるなら、それが呼び出されるときは、モジュールに変更せずに渡されます。

エントリの include 形式によって、 ( other-system-name で指定される) 異なったチェーンからのエントリは、現在のものに含まれます。これで、次にサービス特有のポリシに含まれているシステム全体のポリシの定義を許します。また、システム全体のポリシは、ありとあらゆるサービス特有のポリシを変更することなしに、変更することができます。

現在、適当な位置にループの検出がないように、 include 規則を使用するとき、ループを導入しないように注意します。

モジュールオプション

いくつかの PAM ライブラリ関数は、モジュールがそれ自体が、それらにいくらかの重要度を与えるかどうかにかかわらず、特定のモジュールオプションが指定されたなら、サービスモジュールによって呼び出されるとき、それらの振る舞いを変更するかもしれません。 1 つの、そのようなオプションは、ディスパッチャ (dispatcher) が、各サービス関数を呼び出す前にデバッグするメッセージを有効にし、 (それらが既に有効になっていないなら) それらを後で無効にする、 debug です。他の特別のオプションは、次のものを含んでいます:
authtok_prompt= prompt, oldauthtok_prompt= prompt, user_prompt= prompt
pam_get_authtok(3)pam_get_user(3) によって使用されるプロンプトを上書きするために、これらのオプションを使用することができます。
echo_pass
このオプションは、 pam_get_authtok(3) が、それらが何をタイプしているか確かめることをユーザに許可するかどうかを制御します。
try_first_pass, use_first_pass
これらのオプションは、 pam_get_authtok(3) のキャッシュされた認証のトークンの使用を制御します。

関連項目

pam(3)

規格

X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules, June 1997.

作者

OpenPAM ライブラリは、 DARPA CHATS 研究プログラムの一環として、 DARPA/SPAWAR 契約 N66001-01-C-8035 (“CBOSS”) の下で ThinkSec AS と Network Associates Laboratories, the Security Research Division of Network Associates, Inc. によって FreeBSD プロジェクトのために開発されました。

OpenPAM ライブラリは、 Dag-Erling Smørgrav <des@des.no>によって保守されています。

September 7, 2013 FreeBSD