PAM_SETCRED(3)
NAME
pam_setcred - establish / delete user credentials
SYNOPSIS
#include <security/pam_appl.h> int pam_setcred(pam_handle_t *pamh, int flags);
DESCRIPTION
The pam_setcred function is used to establish, maintain and delete the
credentials of a user. It should be called to set the credentials after
a user has been authenticated and before a session is opened for the
user (with pam_open_session(3)). The credentials should be deleted
after the session has been closed (with pam_close_session(3)).
A credential is something that the user possesses. It is some property,
such as a Kerberos ticket, or a supplementary group membership that
make up the uniqueness of a given user. On a Linux system the user's
UID and GID's are credentials too. However, it has been decided that
these properties (along with the default supplementary groups of which
the user is a member) are credentials that should be set directly by
the application and not by PAM. Such credentials should be established,
by the application, prior to a call to this function. For example,
initgroups(2) (or equivalent) should have been performed.
Valid flags, any one of which, may be logically OR'd with PAM_SILENT,
are:
- PAM_ESTABLISH_CRED
- Initialize the credentials for the user.
- PAM_DELETE_CRED
- Delete the user's credentials.
- PAM_REINITIALIZE_CRED
- Fully reinitialize the user's credentials.
- PAM_REFRESH_CRED
- Extend the lifetime of the existing credentials.
RETURN VALUES
- PAM_BUF_ERR
- Memory buffer error.
- PAM_CRED_ERR
- Failed to set user credentials.
- PAM_CRED_EXPIRED
- User credentials are expired.
- PAM_CRED_UNAVAIL
- Failed to retrieve user credentials.
- PAM_SUCCESS
- Data was successful stored.
- PAM_SYSTEM_ERR
- A NULL pointer was submitted as PAM handle, the function was called by a module or another system error occured.
- PAM_USER_UNKNOWN
- User is not known to an authentication module.