| 日本−日本語 |
|
|
|
![]() |
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > ppam_start(3)HP-UX 11i Version 2: September 2004 |
|
名称pam_start, pam_end ― PAM 用の認証トランザクションルーチン 構文cc [ flag ... ] file ... -lpam [ library ... ] #include <security/pam_appl.h> int pam_start(const char *service, const char *user, int pam_end(pam_handle_t *pamh, int status); 説明pam_start() を呼び出して、認証トランザクションを開始します。 pam_start() は、引き数として、現在のサービス名 service、 認証するユーザー名 user、 対話用構造体へのアドレス pam_conv、 認証ハンドル pamh 用の変数へのアドレスを使用します。 正常終了すると、 pamh は、以降の認証ライブラリへの呼び出しで使用するために PAM ハンドルを参照します。 pam_conv 構造体 pam_conv は、アプリケーションが提供する対話形式の関数のアドレスを含みます。基底の PAM サービスモジュールは、この関数を呼び出してユーザーとの情報の入出力を行います。 pam_conv 構造体には以下のエントリーがあります。 struct pam_conv { conv の構文は以下のとおりです。 int conv(int num_msg, 関数 conv() は、アプリケーションまたはユーザーと PAM が会話を行うためにサービスモジュールが呼び出します。ウィンドウアプリケーションの場合、アプリケーションは対話で使用する新しいポップアップウィンドウを作成します。 パラメータ num_msg は、呼び出しに関連付けられたメッセージの数です。パラメータ msg は、長さが num_msg の、 pam_message 構造体の配列へのポインターです。 構造体 pam_message は、プロンプトやエラーメッセージ、または任意のテキスト情報を、認証サービスからアプリケーションまたはユーザーへ渡すために使用されます。メッセージのローカライズは PAM サービスモジュールが行います。 pam_message が使用するメモリーは、PAM モジュールが割り当て、解放しなければなりません。 pam_message 構造体には以下のエントリーがあります。 struct pam_message{ メッセージスタイル msg_style には以下の値のどれかを設定できます。
メッセージ文字列と応答文字列の最大長は、 <security/pam_appl.h> の PAM_MAX_MSG_SIZE で定義されます。 構造体 pam_response は、認証サービスがアプリケーションまたはユーザーから応答を得るために使用します。 pam_response が使用する記憶領域は、アプリケーションが割り当て、PAM モジュールが解放しなければなりません。 pam_response 構造体には以下のエントリーがあります。 struct pam_response{ PAM_PROMPT_ECHO_OFF と PAM_PROMPT_ECHO_ON のメッセージスタイルのための改行文字の除去や、 PAM_ERROR_MSG と PAM_TEXT_INFO のメッセージスタイルのための改行文字の追加 (該当する場合) は、会話関数が行います。 appdata_ptr は、アプリケーションデータ ポインターです。これは、アプリケーションが PAM サービスモジュールへ渡します。 PAM モジュールは会話関数を通じてこのポインターを返すので、アプリケーションはこのポインターを使ってアプリケーション特定の任意のデータをポイントできます。 pam_end() を呼び出すと、 pamh で識別される認証トランザクションは終了し、認証モジュールが割り当てたすべての記憶領域を解放します。引き数 status は pam ハンドル内に登録されている cleanup() 関数に渡され、それぞれのモジュールについて削除すべき物を判断するのに使用されます。 cleanup 関数は、基底の PAM モジュールによりこのハンドルに結び付けられ、 pam_set_item(3) の呼び出しを通じてモジュール特定のデータを解放します。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||