PAM_SETCRED(3PAM)PAM_SETCRED(3PAM)NAMEpam_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 authenti‐
cated and after a session has been validated. See pam_authenti‐
cate(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(5) for description of the following attributes:
┌────────────────────┬─────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├────────────────────┼─────────────────────────┤
│Interface Stability │ Committed │
├────────────────────┼─────────────────────────┤
│MT-Level │ MT-Safe with exceptions │
└────────────────────┴─────────────────────────┘
SEE ALSOpam(3PAM), pam_acct_mgmt(3PAM), pam_authenticate(3PAM),
pam_set_item(3PAM), pam_start(3PAM), libpam(3LIB), attributes(5)NOTES
The interfaces in libpam are MT-Safe only if each thread within the
multithreaded application uses its own PAM handle.
Jan 10, 2008 PAM_SETCRED(3PAM)