EN JA
PAM_GET_AUTHTOK(3)
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_PROMPTPAM_OLDAUTHTOK_PROMPT 項目が必要に応じて使用されます。また、その項目が NULL であるなら、決め打ちされたデフォルトのプロンプトが使用されます。さらに、 pam_get_authtok() がサービスモジュールから呼び出されるとき、プロンプトは、下記に記述されるようなモジュールオプションによって影響されます。次に、プロンプトは、それが会話関数に渡される前に openpam_subst(3) を使用して拡張されます。

itemPAM_AUTHTOK に設定されて、空 (null) でない PAM_OLDAUTHTOK 項目があるなら、 pam_get_authtok() は、それを再びタイプすることによって新しいトークンを確認するようにユーザに頼みます。不一致があれば、 pam_get_authtok() は、 PAM_TRY_AGAIN を返します。

モジュールオプション

サービスモジュールによって呼び出されるとき、 pam_get_authtok() は、次のモジュールオプションを認識します:
authtok_prompt
itemPAM_AUTHTOK に設定されるとき、使用するプロンプト。このオプションは、 prompt 引数と PAM_AUTHTOK_PROMPT 項目の両方を上書きします。
echo_pass
アプリケーションの会話関数が、それを許可するなら、これは、それらが何をタイプしているかユーザに確かめます。これは、単に再使用可能でない認証トークンのために使用されるべきです。
oldauthtok_prompt
itemPAM_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]
再試行してください。

規格

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 ライブラリは、 Dag-Erling Smørgrav <des@des.no>によって保守されています。

September 7, 2013 FreeBSD