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

pam_sm_chauthtok(3)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

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

 ≫ 目次

 ≫ 索引

名称

pam_sm_chauthtok ― pam_chauthtok 用サービスプロバイダの実行

構文

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

#include <security/pam_appl.h>

#include <security/pam_modules.h>

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

説明

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

pam_sm_chauthtok() は、認証ハンドル pamh により参照される特定ユーザーに関連付けられた認証トークンを変更します。

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

PAM_SILENT  

パスワードサービスのメッセージ作成を禁止します。

PAM_CHANGE_EXPIRED_AUTHTOK
  

パスワードサービスが古いパスワードだけ更新します。このフラグが渡されない場合、すべてのパスワードを更新します。

PAM_PRELIM_CHECK
  

パスワードサービスが予備検査だけを実行します。パスワードは更新されません。

PAM_UPDATE_AUTHTOK
  

パスワードサービスがパスワードを更新します。

PAM_PRELIM_CHECKPAM_UPDATE_AUTHTOK は同時に設定できないことに注意してください。

呼び出しが正常終了すると、ユーザーの認証トークンはシステムで構成されている認証方式に従って、(フラグに基づき) 変更できる状態になるか、または変更されます。

argc 引き数は、構成ファイル pam.conf(4) から渡されるモジュールオプション数を示します。 argv は、モジュールオプションを指定します。モジュールオプションはパスワード管理サービスにより解釈され、処理されます。使用できるさまざまな オプション については、特定のモジュールのマンページを参照してください。

新しいパスワードが一定の条件規定を満たすかどうかの判別は、 pam_sm_chauthtok() が行います。 pam_sm_chauthtok() は、入力されたパスワードがその条件規定を満たすまで、ユーザーに再度新しいパスワードの入力を求めるプロンプトを (制限回数内で) 続けて表示します。

pam_sm_chauthtok() は、処理を終える前に pam_get_item() を呼び出して PAM_AUTHTOKPAM_OLDAUTHTOK の両方を取り出します。両方とも NULL の場合、 pam_sm_chauthtok() は、ユーザーが入力した新しいパスワードと古いパスワードをそれぞれに設定します。

アプリケーション使用法

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

注意

PAM フレームワークはパスワードサービスを二度呼び出します。最初は、 PAM_PRELIM_CHECK フラグを使って呼び出します。この段階では、パスワードモジュールは予備検査 (たとえば、リモート ネームサービスに ping を実行して更新の準備ができているかどうかを調べる) だけを実行します。パスワードモジュールが一時エラー (たとえば、リモート名サービスが一時的にダウンしているなど) を検出すると、PAM フレームワークに PAM_TRY_AGAIN が返されます。PAM フレームワークは直ちにアプリケーションにエラーを返します。 すべてのパスワードモジュールが予備検査を通過した場合、PAM フレームワークはフラグ PAM_UPDATE_AUTHTOK を使ってもう一度パスワードサービスを呼び出します。この段階で、それぞれのパスワードモジュールにより適切なパスワードが更新されます。エラーが発生すると、もう一度アプリケーションに報告されます。

サービスモジュールが PAM_CHANGE_EXPIRED_AUTHTOK を受け取ると、パスワードが古いか、または期限切れであるかを調べます。パスワードが古いかまたは期限切れの場合、サービスモジュールによりパスワードが更新されます。ステータスが、パスワードがまだ古くない / 期限切れではないことを示している場合、パスワードモジュールは PAM_IGNORE を返します。

ユーザーのパスワードが古いかまたは期限切れの場合、PAM アカウントモジュールは、 pam_set_data() を使って、認証ハンドル pamh にこの情報を保存します。関連するパスワード管理モジュールは、 pam_get_data() を使ってこの情報を取り出し、特定モジュールのパスワード更新を求めるプロンプトの表示判別に使用します。

戻り値

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

PAM_PERM_DENIED  

パーミッションがありません。

PAM_AUTHTOK_ERR  

認証トークンの操作エラーです。

PAM_AUTHTOK_RECOVERY_ERR
  

古い認証トークンを回復できません。

PAM_AUTHTOK_LOCK_BUSY
  

認証トークンのロックがビジーです。

PAM_AUTHTOK_DISABLE_AGING
  

認証トークンのエージングが禁止されています。

PAM_USER_UNKNOWN
  

パスワードサービスがユーザーを認識できません。

PAM_TRY_AGAIN  

パスワードサービスの予備検査に失敗しました。

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