本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > p

pam_sm_authenticate(3)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

pam_sm_authenticate ― pam_authenticate 用サービスプロバイダの実行

構文

cc [ flag ... ] file ... -lpam [ library ... ]

#include <security/pam_appl.h>

#include <security/pam_modules.h>

int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc,
const char **argv);

説明

pam_authenticate(3) の呼び出しに応じて、PAM フレームワークが pam.conf(4) ファイルにリストされたモジュールから pam_sm_authenticate() を呼び出します。認証プロバイダは、このインタフェース関数のバックエンド機能を提供します。

関数 pam_sm_authenticate() が呼び出されると、現ユーザーの身元を検査します。通常、システム内で構成されている認証方式に基づき、ユーザーにパスワードまたは認証トークンの入力を要求します。対象ユーザーは以前に呼び出した pam_start() で指定され、認証ハンドル pamh で参照されます。

ユーザーが認証サービスに認識されない場合、サービスモジュールはこのエラーをマスクし、続けてユーザーにパスワード入力を求めるプロンプトを表示します。その後で、エラー PAM_USER_UNKNOWN を返します。

pam_sm_authenticate() には以下のフラグを渡せます。

PAM_SILENT  

認証サービスのメッセージ作成を禁止します。

PAM_DISALLOW_NULL_AUTHTOK
  

ユーザーの認証トークンがヌルの場合、認証サービスは PAM_AUTH_ERROR を返します。

argc 引き数は、構成ファイル pam.conf(4) から渡されるモジュールオプションの数を示します。 argv は、モジュールオプションを指定します。モジュールオプションは認証サービスにより解釈され、処理されます。使用できる各 options については、特定モジュールのマンページを参照してください。未知のオプションが渡された場合、モジュールはエラーを記録し、そのオプションを無視します。

pam_sm_authenticate() は、処理を終える前に pam_get_item() を呼び出して PAM_AUTHTOK を取り出します。この値が設定されていない場合 (すなわち、値が NULL の場合)、 pam_sm_authenticate() は、 pam_set_item() を使ってユーザーが入力したパスワードを設定します。

認証モジュールは、 pam_set_data() を使って、認証ステータス (成功値、または失敗の原因を示す値) を認証ハンドルに設定することがあります。この値は、 pam_setcred() が使用します。

アプリケーション使用法

PAM インタフェースのスレッドへの対応状況については、 pam(3) を参照してください。

注意

モジュールはイベントが失敗した場合でも認証を再試行しません。アプリケーションが認証を再試行し、リトライ回数を管理します。リトライ回数を制限するには、モジュールから PAM_MAXTRIES エラーを返します。

戻り値

正常終了すると、 PAM_SUCCESS が返されます。また、以下の値が返されることがあります。

PAM_MAXTRIES  

最大認証試行回数を超えました。

PAM_AUTH_ERR  

認証に失敗しました。

PAM_CRED_INSUFFICIENT
  

権限が不足しているために認証データにアクセスできません。

PAM_AUTHINFO_UNAVAIL
  

基底の認証サービスが認証情報を取り出せません。

PAM_USER_UNKNOWN
  

基底の認証モジュールがユーザーを認識できません。

PAM_IGNORE  

制御フラグが required, optional, sufficient のどれであるかにかかわらず、基底の認証モジュールを無視します。

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.