PAM_SETCRED(3PAM) PAM Library Functions PAM_SETCRED(3PAM)
NAME
pam_setcred - modify or delete user credentials for an authentication
service
SYNOPSIS
cc [
flag ... ]
file ...
-lpam [
library ... ]
#include <security/pam_appl.h>
int pam_setcred(
pam_handle_t *pamh,
int flags);
DESCRIPTION
The
pam_setcred() function is used to establish, modify, or delete
user credentials. It is typically called after the user has been
authenticated and after a session has been validated. See
pam_authenticate(3PAM) and
pam_acct_mgmt(3PAM).
The user is specified by a prior call to
pam_start() or
pam_set_item(), and is referenced by the authentication handle,
pamh.
The following flags may be set in the
flags field. Note that the
first four flags are mutually exclusive:
PAM_ESTABLISH_CRED Set user credentials for an authentication
service.
PAM_DELETE_CRED Delete user credentials associated with an
authentication service.
PAM_REINITIALIZE_CRED Reinitialize user credentials.
PAM_REFRESH_CRED Extend lifetime of user credentials.
PAM_SILENT Authentication service should not generate
any messages.
If no flag is set,
PAM_ESTABLISH_CRED is used as the default.
RETURN VALUES
Upon success,
pam_setcred() returns
PAM_SUCCESS. In addition to the
error return values described in
pam(3PAM) the following values may
be returned upon error:
PAM_CRED_UNAVAIL Underlying authentication service can not
retrieve user credentials unavailable.
PAM_CRED_EXPIRED User credentials expired.
PAM_USER_UNKNOWN User unknown to underlying authentication
service.
PAM_CRED_ERR Failure setting user credentials.
ATTRIBUTES
See
attributes(7) for description of the following attributes:
+--------------------+-------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------------+
|Interface Stability | Committed |
+--------------------+-------------------------+
|MT-Level | MT-Safe with exceptions |
+--------------------+-------------------------+
SEE ALSO
libpam(3LIB),
pam(3PAM),
pam_acct_mgmt(3PAM),
pam_authenticate(3PAM),
pam_set_item(3PAM),
pam_start(3PAM),
attributes(7)NOTES
The interfaces in
libpam are MT-Safe only if each thread within the
multithreaded application uses its own
PAM handle.
January 10, 2008 PAM_SETCRED(3PAM)