Oracle Solaris セキュリティーサービス開発ガイド

PAM コンシューマの要件

PAM コンシューマは PAM ライブラリ libpam とリンクする必要があります。各モジュールが提供するサービスをアプリケーションから利用するには、pam_start(3PAM) を呼び出して PAM ライブラリのインスタンスを初期化する必要があります。pam_start() を呼び出すと、ハンドルが初期化されます。このハンドルは、後続の PAM 呼び出し時に毎回指定する必要があります。アプリケーション内での PAM サービスの利用を終了する際には、pam_end() を呼び出し、PAM ライブラリが使用したすべてのデータをクリーンアップします。

PAM アプリケーションと PAM モジュール間の通信は、「アイテム」経由で実現されます。たとえば、初期化時に使うと便利なアイテムを、次に示します。

利用可能なすべてのアイテムの一覧については、pam_set_item(3PAM) のマニュアルページを参照してください。アプリケーションからアイテムを設定するには、pam_set_item (3PAM) を使用します。モジュールによって設定された値をアプリケーション内で取り出すには、pam_get_item(3PAM) を使用します。ただし、PAM_AUTHTOK と PAM_OLDAUTHTOK はアプリケーションから取得できません。また、PAM_SERVICE アイテムは設定できません。