pam_open/close_session − PAM セッション管理 |
#include <security/pam_appl.h> int pam_open_session(pam_handle_t *pamh, int flags); int pam_close_session(pam_handle_t *pamh, int flags); |
PAM には、セッションの初期化と終了を行なう管理ツールがあります。 |
pam_open_session |
こ の関数を使用すると、認証されたユーザのセッションが始まったこ とを通知できます。ユーザが pam_authenticate(3) で適切に確 認 さ れ、 必要な場合は pam_setcred(3) で証明書を与えられた後で呼び出 してください。 セッションの初期化に関連した関数には、システム監視のためのロ グ 作 成とディレクトリ (ユーザのホームディレクトリなど) のマウント があります。アプリケーションでこれに関わることはありません。 ア プリケーションの 実効 uid ( geteuid(2) ) に、このような処理に十 分な権限を持つことが必要であることに注意してください。 |
pam_close_session |
この関数を使用すると、ユーザセッションが終了したことを通知で き ま す。一般的には、初期化関数 ( pam_open_session ) と同じアプリ ケーションにこの関数を配置する必要はありません。 典型的には、この関数は、 pam_open_session のアクションを取り 消 し ま す。 つまり、ユーザセッションの終了に関わる監視情報を記録 し、ユーザのホームディレクトリのマウントを解除します。十分な 権 限 があることは別にして、セッションの終了の詳細に呼び出しアプリ ケーションが関わるこはありません。一方、この呼び出しから戻り 次 第、 当該ユーザの権限での動作を止めることは、良いプログラミング スタイルです。 |
このセッション管理関数で問題が発生しなかった場合は、 PAM_SUCCESS が戻さ れます。 セッ ショ ンの開閉でエラーが発生した場合は、 PAM_SESSION_ERR が戻されま す。その他の戻り値が戻された場合は、エラーを示すものとして扱ってくだ さ い。 |
pam_strerror(3) でテキストに変換できます。 |
OSF-RFC 86.0, October 1995. |
見つかっていません。 |
pam_start(3), pam_authenticate(3), pam_setcred(3), pam_get_item(3), pam_strerror(3), pam(3). システム管理者、 モジュール開発者、 アプ リ ケー ショ ン 開 発 者 用 の Linux-PAM ガイドも参照してください。 |