PAM_OPEN_SESSION(3PAM) PAM Library Functions PAM_OPEN_SESSION(3PAM)
pam_open_session, pam_close_session - perform PAM session creation
and termination operations
cc [ flag ... ] file ... -lpam [ library ... ]
#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);
The pam_open_session() function is called after a user has been
successfully authenticated. See pam_authenticate(3PAM) and
pam_acct_mgmt(3PAM). It is used to notify the session modules that a
new session has been initiated. All programs that use the
pam(3PAM) library should invoke pam_open_session() when beginning a
new session. Upon termination of this activity, pam_close_session()
should be invoked to inform pam(3PAM) that the session has
terminated.
The pamh argument is an authentication handle obtained by a prior
call to pam_start(). The following flag may be set in the flags field
for pam_open_session() and pam_close_session():
PAM_SILENT
The session service should not generate any messages.
Upon successful completion, PAM_SUCCESS is returned. In addition to
the return values defined in pam(3PAM), the following value may be
returned on error:
PAM_SESSION_ERR
Cannot make or remove an entry for the specified
session.
See attributes(7) for description of the following attributes:
+--------------------+-------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------------+
|Interface Stability | Stable |
+--------------------+-------------------------+
|MT-Level | MT-Safe with exceptions |
+--------------------+-------------------------+
getutxent(3C), pam(3PAM), pam_acct_mgmt(3PAM),
pam_authenticate(3PAM), pam_start(3PAM), attributes(7)
In many instances, the pam_open_session() and pam_close_session()
calls may be made by different processes. For example, in UNIX the
login process opens a session, while the init process closes the
session. In this case, UTMP/WTMP entries may be used to link the
call to pam_close_session() with an earlier call to
pam_open_session(). This is possible because UTMP/WTMP entries are
uniquely identified by a combination of attributes, including the
user login name and device name, which are accessible through the
PAM handle, pamh. The call to pam_open_session() should precede
UTMP/WTMP entry management, and the call to pam_close_session()
should follow UTMP/WTMP exit management.
The interfaces in libpam are MT-Safe only if each thread within the
multithreaded application uses its own PAM handle.
October 13, 1998 PAM_OPEN_SESSION(3PAM)
NAME
pam_open_session, pam_close_session - perform PAM session creation
and termination operations
SYNOPSIS
cc [ flag ... ] file ... -lpam [ library ... ]
#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);
DESCRIPTION
The pam_open_session() function is called after a user has been
successfully authenticated. See pam_authenticate(3PAM) and
pam_acct_mgmt(3PAM). It is used to notify the session modules that a
new session has been initiated. All programs that use the
pam(3PAM) library should invoke pam_open_session() when beginning a
new session. Upon termination of this activity, pam_close_session()
should be invoked to inform pam(3PAM) that the session has
terminated.
The pamh argument is an authentication handle obtained by a prior
call to pam_start(). The following flag may be set in the flags field
for pam_open_session() and pam_close_session():
PAM_SILENT
The session service should not generate any messages.
RETURN VALUES
Upon successful completion, PAM_SUCCESS is returned. In addition to
the return values defined in pam(3PAM), the following value may be
returned on error:
PAM_SESSION_ERR
Cannot make or remove an entry for the specified
session.
ATTRIBUTES
See attributes(7) for description of the following attributes:
+--------------------+-------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------------+
|Interface Stability | Stable |
+--------------------+-------------------------+
|MT-Level | MT-Safe with exceptions |
+--------------------+-------------------------+
SEE ALSO
getutxent(3C), pam(3PAM), pam_acct_mgmt(3PAM),
pam_authenticate(3PAM), pam_start(3PAM), attributes(7)
NOTES
In many instances, the pam_open_session() and pam_close_session()
calls may be made by different processes. For example, in UNIX the
login process opens a session, while the init process closes the
session. In this case, UTMP/WTMP entries may be used to link the
call to pam_close_session() with an earlier call to
pam_open_session(). This is possible because UTMP/WTMP entries are
uniquely identified by a combination of attributes, including the
user login name and device name, which are accessible through the
PAM handle, pamh. The call to pam_open_session() should precede
UTMP/WTMP entry management, and the call to pam_close_session()
should follow UTMP/WTMP exit management.
The interfaces in libpam are MT-Safe only if each thread within the
multithreaded application uses its own PAM handle.
October 13, 1998 PAM_OPEN_SESSION(3PAM)