PAM Library Functions pam_open_session(3PAM)
NAME
pam_open_session, pam_close_session - perform PAM session
creation and termination operationsSYNOPSIS
cc [ flag ... ] file ... -lpam [ library ... ]
#include
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 pro-
grams that use the pam(3PAM) library should invokepam_open_session() when beginning a new session. Upon termi-
nation 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 aprior 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 fol-
lowing value may be returned on error:PAM_SESSION_ERR Cannot make or remove an entry for the
specified session.ATTRIBUTES
See attributes(5) for description of the following attri-
butes:SunOS 5.11 Last change: 13 Oct 1998 1
PAM Library Functions pam_open_session(3PAM)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe with exceptions |
|_____________________________|_____________________________|
SEE ALSO
getutxent(3C), pam(3PAM), pam_acct_mgmt(3PAM),
pam_authenticate(3PAM), pam_start(3PAM), attributes(5)
NOTESIn 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 thiscase, 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 attri-
butes, including the user login name and device name, which are accessible through the PAM handle, pamh. The call topam_open_session() should precede UTMP/WTMP entry manage-
ment, 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 han-
dle.SunOS 5.11 Last change: 13 Oct 1998 2