pam_sm_chauthtok(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | COLOPHON

PAM_SM_CHAUTHTOK(3)         Linux-PAM Manual         PAM_SM_CHAUTHTOK(3)

NAME         top

       pam_sm_chauthtok - PAM service function for authentication token
       management

SYNOPSIS         top

       #include <security/pam_modules.h>

       int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc,
                            const char **argv);

DESCRIPTION         top

       The pam_sm_chauthtok function is the service module's
       implementation of the pam_chauthtok(3) interface.

       This function is used to (re-)set the authentication token of the
       user.

       Valid flags, which may be logically OR'd with PAM_SILENT, are:

       PAM_SILENT
           Do not emit any messages.

       PAM_CHANGE_EXPIRED_AUTHTOK
           This argument indicates to the module that the user's
           authentication token (password) should only be changed if it
           has expired. This flag is optional and must be combined with
           one of the following two flags. Note, however, the following
           two options are mutually exclusive.

       PAM_PRELIM_CHECK
           This indicates that the modules are being probed as to their
           ready status for altering the user's authentication token. If
           the module requires access to another system over some
           network it should attempt to verify it can connect to this
           system on receiving this flag. If a module cannot establish
           it is ready to update the user's authentication token it
           should return PAM_TRY_AGAIN, this information will be passed
           back to the application.

           If the control value sufficient is used in the password
           stack, the PAM_PRELIM_CHECK section of the modules following
           that control value is not always executed.

       PAM_UPDATE_AUTHTOK
           This informs the module that this is the call it should
           change the authorization tokens. If the flag is logically
           OR'd with PAM_CHANGE_EXPIRED_AUTHTOK, the token is only
           changed if it has actually expired.

       The PAM library calls this function twice in succession. The
       first time with PAM_PRELIM_CHECK and then, if the module does not
       return PAM_TRY_AGAIN, subsequently with PAM_UPDATE_AUTHTOK. It is
       only on the second call that the authorization token is
       (possibly) changed.

RETURN VALUES         top

       PAM_AUTHTOK_ERR
           The module was unable to obtain the new authentication token.

       PAM_AUTHTOK_RECOVERY_ERR
           The module was unable to obtain the old authentication token.

       PAM_AUTHTOK_LOCK_BUSY
           Cannot change the authentication token since it is currently
           locked.

       PAM_AUTHTOK_DISABLE_AGING
           Authentication token aging has been disabled.

       PAM_PERM_DENIED
           Permission denied.

       PAM_TRY_AGAIN
           Preliminary check was unsuccessful. Signals an immediate
           return to the application is desired.

       PAM_SUCCESS
           The authentication token was successfully updated.

       PAM_USER_UNKNOWN
           User unknown to password service.

SEE ALSO         top

       pam(3), pam_chauthtok(3), pam_sm_chauthtok(3), pam_strerror(3),
       PAM(8)

COLOPHON         top

       This page is part of the linux-pam (Pluggable Authentication
       Modules for Linux) project.  Information about the project can be
       found at ⟨http://www.linux-pam.org/⟩.  If you have a bug report
       for this manual page, see ⟨//www.linux-pam.org/⟩.  This page was
       obtained from the project's upstream Git repository
       ⟨https://github.com/linux-pam/linux-pam.git⟩ on 2023-12-22.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2023-12-18.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

Linux-PAM Manual               12/22/2023            PAM_SM_CHAUTHTOK(3)

Pages that refer to this page: pam_get_authtok(3)pam_get_item(3)pam_set_item(3)pam_sm_acct_mgmt(3)pam_sm_chauthtok(3)pam_debug(8)