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