PAM_GET_AUTHTOK(3) | FreeBSD Library Functions Manual | PAM_GET_AUTHTOK(3) |
名称
pam_get_authtok — 認証トークンを検索するライブラリ
Pluggable Authentication Module Library (libpam, -lpam)書式
#include < sys/types.h>#include < security/pam_appl.h>
int
pam_get_authtok( pam_handle_t *pamh, int item, const char **authtok, const char *prompt);
解説
pam_get_authtok() 関数は、状況によって、認証トークンのためのユーザにプロンプトを出すか、またはキャッシュされた認証トークンを検索します。どちらにしても、認証トークンへのポインタは、 authtok 引数によって指される位置に格納され、対応する PAM 項目が更新されます。item 引数は、次の値の 1 つがなければなりません:
- PAM_AUTHTOK
- 認証トークンを変更するとき、現在の認証トークンまたは新しいトークンを返します。
- PAM_OLDAUTHTOK
- 認証トークンを変更するとき、前の認証トークンを返します。
prompt 引数は、トークンが貯蔵 (キャッシュ) されていないなら、使用するプロンプトを指定します。それが NULL であるなら、 PAM_AUTHTOK_PROMPT か PAM_OLDAUTHTOK_PROMPT 項目が必要に応じて使用されます。また、その項目が NULL であるなら、決め打ちされたデフォルトのプロンプトが使用されます。さらに、 pam_get_authtok() がサービスモジュールから呼び出されるとき、プロンプトは、下記に記述されるようなモジュールオプションによって影響されます。次に、プロンプトは、それが会話関数に渡される前に openpam_subst(3) を使用して拡張されます。
item が PAM_AUTHTOK に設定されて、空 (null) でない PAM_OLDAUTHTOK 項目があるなら、 pam_get_authtok() は、それを再びタイプすることによって新しいトークンを確認するようにユーザに頼みます。不一致があれば、 pam_get_authtok() は、 PAM_TRY_AGAIN を返します。
モジュールオプション
サービスモジュールによって呼び出されるとき、 pam_get_authtok() は、次のモジュールオプションを認識します:- authtok_prompt
- item が PAM_AUTHTOK に設定されるとき、使用するプロンプト。このオプションは、 prompt 引数と PAM_AUTHTOK_PROMPT 項目の両方を上書きします。
- echo_pass
- アプリケーションの会話関数が、それを許可するなら、これは、それらが何をタイプしているかユーザに確かめます。これは、単に再使用可能でない認証トークンのために使用されるべきです。
- oldauthtok_prompt
- item が PAM_OLDAUTHTOK に設定されるとき、使用するプロンプト。このオプションは、 prompt 引数と PAM_OLDAUTHTOK_PROMPT 項目の両方を上書きします。
- try_first_pass
- 要求された項目が NULL でないなら、ユーザにプロンプトを出さすに、それを返します。一般的に、サービスモジュールは、トークンを確認し、それが一致しないなら、 pam_get_authtok() が 2 回呼び出される前に、項目をクリアします。
- use_first_pass
- ユーザを全くプロンプトを出しません。単に、キャッシュされた値を返すか、または何もないなら、 PAM_AUTH_ERR を返します。
戻り値
pam_get_authtok() 関数は、次の値の 1 つを返します:- [ PAM_BUF_ERR]
- メモリバッファエラー。
- [ PAM_CONV_ERR]
- 会話失敗。
- [ PAM_SYSTEM_ERR]
- システムエラー。
- [ PAM_TRY_AGAIN]
- 再試行してください。
関連項目
openpam_get_option(3), openpam_subst(3), pam(3), pam_conv(3), pam_get_item(3), pam_get_user(3), pam_strerror(3)規格
pam_get_authtok() 関数は、OpenPAM の拡張です。作者
pam_get_authtok() 関数とこのマニュアルページは、 FreeBSD プロジェクトのために DARPA CHATS 研究プログラムの一環として DARPA/SPAWAR 規約 N66001-01-C-8035 (“CBOSS”) の下で ThinkSec AS と Network Associates Laboratories, the Security Research Division of Network Associates, Inc. によって開発されました。OpenPAM ライブラリは、
<des@des.no>によって保守されています。September 7, 2013 | FreeBSD |