EN JA
PAM(3)
PAM(3) FreeBSD Library Functions Manual PAM(3)

名称

プラグ可能な認証モジュール (Pluggable Authentication Modules) ライブラリ

ライブラリ

Pluggable Authentication Module Library (libpam, -lpam)

書式

#include < security/pam_appl.h>

解説

プラグ可能な認証モジュール (Pluggable Authentication Modules (PAM)) ライブラリは、多くの共通の認証関連の操作を要約し、いろいろば方法でこれらの操作を実装する動的にロードされるモジュールのためのフレームワークを提供します。

専門用語

PAM 専門用語では、ユーザを認証するのに PAM を使用するアプリケーションは、サーバであり、(必ずではないが) しばしばそれは、プログラム名である、サービス名によって設定目的のために識別されます。

認証を要求するユーザは、アプリカント (申込者) と呼ばれ、一方、彼の身元を確認して、要求された証明書を彼に供与することを委託されるユーザ (通常、ルート) は、アビトレータ (調停者) と呼ばれます。

ユーザを認証を調べて、彼が要求したどんなタスクも実行するサーバの操作のシーケンスは、PAM トランザクションです。要求されたタスクを実行するサーバ内のコンテキストは、セッションと呼ばれます。

PAM によって具体化される機能は、4 つの機能に分類された 6 つの基本項目に分割されます: 認証、アカウント管理、セッション管理、およびパスワード管理です。

対話

PAM ライブラリは、アプリケーションがユーザと通信するために使用することができる会話コールバックを提供すると期待します。いくつかのモジュールは、暗号のドングル (違法コピーを防止するための機器) かバイオメトリック (生物測定) デバイスのような特別のハードウェアで通信するために特殊化している会話関数を使用することができます。詳細に関しては、 pam_conv(3) を参照してください。

初期設定とクリーンアップ

pam_start() 関数は、PAM ライブラリを初期化し、その後のすべての関数呼び出しで提供しなければならないハンドルを返します。トランザクション状態は、このハンドルによって識別される構造体の中に完全に含まれているので、平行な複数のトランザクションを行うことは可能です。

pam_end() 関数は、指定されたコンテキストに関連しているすべてのリソースを解放し、 PAM トランザクションを終わるためにいつでも呼び出すことができます。

記憶域

pam_set_item() と pam_get_item() 関数は、サービス名、要求と目標ユーザの名前、会話関数、とプロンプトを含んでいる、前もって定義されたアイテムを設定して検索します。

pam_set_data() と pam_get_data() 関数は、あるものから他を呼び出す状態を格納するモジュールによって一般的に使用され自由形式データの名前の付けられたチャンク (塊) を管理します。

認証

2 つの認証基本関数があります: pam_authenticate() と pam_setcred() です。前者は、ユーザを認証しますが、後者は、ユーザの証明書を管理します。

アカウント管理

pam_acct_mgmt() 関数は、パスワードの有効期限、アカウントの有効期限、時刻制限などのようなポリシを実行します。

セッション管理

pam_open_session() と pam_close_session() 関数は、セッションの組み立てと分解を操作します。

パスワード管理

pam_chauthtok() 関数は、ユーザの要求、またはパスワードの期限切れのいずれかで、サーバにユーザのパスワードを変更できるようにします。

その他

pam_putenv(), pam_getenv() と pam_getenvlist() 関数は、セッションの間にサーバがエクスポートしたい環境変数を設定することができるモジュールでプライベートな環境リストを管理します。

pam_strerror() 関数は、指定された PAM エラーコードを説明する文字列へのポインタを返します。

戻り値

次の返りコードは、 < security/pam_constants.h> によって定義されます:
[ PAM_ABORT]
一般的な失敗。
[ PAM_ACCT_EXPIRED]
ユーザアカウントは、期限が切れました。
[ PAM_AUTHINFO_UNAVAIL]
認証情報が利用不可能です。
[ PAM_AUTHTOK_DISABLE_AGING]
認証トークンの時効が無効です。
[ PAM_AUTHTOK_ERR]
認証トークン失敗。
[ PAM_AUTHTOK_EXPIRED]
パスワードの期限が切れました。
[ PAM_AUTHTOK_LOCK_BUSY]
認証トークンのロックがビジーです。
[ PAM_AUTHTOK_RECOVERY_ERR]
古い認証トークンの復元に失敗しました。
[ PAM_AUTH_ERR]
認証エラー。
[ PAM_BUF_ERR]
メモリバッファエラー。
[ PAM_CONV_ERR]
会話失敗。
[ PAM_CRED_ERR]
ユーザ証明書の設定に失敗しました。
[ PAM_CRED_EXPIRED]
ユーザ証明書の期限が切れました。
[ PAM_CRED_INSUFFICIENT]
証明書が不適当です。
[ PAM_CRED_UNAVAIL]
ユーザ証明書の検索に失敗しました。
[ PAM_DOMAIN_UNKNOWN]
未知の認証ドメイン。
[ PAM_IGNORE]
このモジュールを無視。
[ PAM_MAXTRIES]
試行の最大数を超過しました。
[ PAM_MODULE_UNKNOWN]
未知のモジュールタイプ。
[ PAM_NEW_AUTHTOK_REQD]
新しい認証トークンが必要です。
[ PAM_NO_MODULE_DATA]
モジュールデータが見つかりません。
[ PAM_OPEN_ERR]
モジュールのロードに失敗しました。
[ PAM_PERM_DENIED]
パーミッション (許可) が拒否されました。
[ PAM_SERVICE_ERR]
サービスモジュールでのエラー。
[ PAM_SESSION_ERR]
セッション失敗。
[ PAM_SUCCESS]
成功。
[ PAM_SYMBOL_ERR]
無効のシンボル。
[ PAM_SYSTEM_ERR]
システムエラー。
[ PAM_TRY_AGAIN]
再試行してください。
[ PAM_USER_UNKNOWN]
未知のユーザ。

関連項目

openpam(3), pam_conv(3)

規格

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

作者

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

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

September 7, 2013 FreeBSD