PAM_OPEN_SESSION(3)

名称
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 ガイドも参照してください。