名称
pam_sm_open_session, pam_sm_close_session ― pam_open_session および pam_close_session それぞれのサービスプロバイダの実行
構文
cc [ flag ... ] file ... -lpam [ library ... ]
#include <security/pam_appl.h>
#include <security/pam_modules.h>
int pam_sm_open_session(pam_handle_t
*pamh, int flags, int argc,
const char **argv);
int pam_sm_close_session(pam_handle_t
*pamh, int flags, int argc,
const char **argv);
説明
pam_open_session() および pam_close_session() への呼び出しに応えて、PAM
フレームワークは pam.conf(4) ファイルにリストされたモジュールから、それぞれ pam_sm_open_session() または pam_sm_close_session() を呼び出します。セッション管理プロバイダは、このインタフェース関数のバックエンド機能を提供します。
pam_sm_open_session() を呼び出して、セッション管理を開始します。 pam_sm_close_session() は、セッションが終了したときに呼び出します。引き数 pamh は認証ハンドルです。 flags フィールドには以下のフラグを設定できます。
| PAM_SILENT | | セッションサービスのメッセージ作成を禁止します。 |
argc 引き数は、構成ファイル pam.conf(4) から渡されるモジュールオプションの数を示します。 argv は、モジュールオプションを指定します。モジュールオプションはセッション管理サービスにより解釈され、処理されます。未知のオプションが渡された場合、 syslog(3C) にエラーを記録し、このオプションを無視しなければなりません。
アプリケーション使用法
PAM インタフェースのスレッドへの対応状況については、 pam(3) を参照してください。
戻り値
正常終了したら、 PAM_SUCCESS が返されます。エラーが発生すると、以下の値が返されます。
| PAM_SESSION_ERR | | 指定したセッションでエントリーを作成 / 削除できません。 |
| PAM_IGNORE | | 制御フラグが required, optional, sufficient のどれかにかかわらず、基底のセッションモジュールを無視します。 |