| 日本−日本語 |
|
|
|
![]() |
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > ppam_sm_chauthtok(3)HP-UX 11i Version 2: September 2004 |
|
名称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, 説明pam_chauthtok() の呼び出しに応えて、PAM フレームワークは pam.conf(4) ファイルにリストされたモジュールから pam_sm_chauthtok() を呼び出します。パスワード管理プロバイダは、このインタフェース関数のバックエンド機能を提供します。 pam_sm_chauthtok() は、認証ハンドル pamh により参照される特定ユーザーに関連付けられた認証トークンを変更します。 pam_chauthtok() には以下のフラグを渡せます。
PAM_PRELIM_CHECK と PAM_UPDATE_AUTHTOK は同時に設定できないことに注意してください。 呼び出しが正常終了すると、ユーザーの認証トークンはシステムで構成されている認証方式に従って、(フラグに基づき) 変更できる状態になるか、または変更されます。 argc 引き数は、構成ファイル pam.conf(4) から渡されるモジュールオプション数を示します。 argv は、モジュールオプションを指定します。モジュールオプションはパスワード管理サービスにより解釈され、処理されます。使用できるさまざまな オプション については、特定のモジュールのマンページを参照してください。 新しいパスワードが一定の条件規定を満たすかどうかの判別は、 pam_sm_chauthtok() が行います。 pam_sm_chauthtok() は、入力されたパスワードがその条件規定を満たすまで、ユーザーに再度新しいパスワードの入力を求めるプロンプトを (制限回数内で) 続けて表示します。 pam_sm_chauthtok() は、処理を終える前に pam_get_item() を呼び出して PAM_AUTHTOK と PAM_OLDAUTHTOK の両方を取り出します。両方とも NULL の場合、 pam_sm_chauthtok() は、ユーザーが入力した新しいパスワードと古いパスワードをそれぞれに設定します。 注意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 が返されます。以下の値が返されることもあります。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||