pam_chauthtok man page
pam_chauthtok — updating authentication tokens
int pam_chauthtok(pam_handle_t *pamh, int flags);
The pam_chauthtok function is used to change the authentication token for a given user (as indicated by the state associated with the handle pamh).
The pamh argument is an authentication handle obtained by a prior call to pam_start(). The flags argument is the binary or of zero or more of the following values:
Do not emit any messages.
This argument indicates to the modules that the user's authentication token (password) should only be changed if it has expired. If this argument is not passed, the application requires that all authentication tokens are to be changed.
A module was unable to obtain the new authentication token.
A module was unable to obtain the old authentication token.
One or more of the modules was unable to change the authentication token since it is currently locked.
Authentication token aging has been disabled for at least one of the modules.
The authentication token was successfully updated.
Not all of the modules were in a position to update the authentication token(s). In such a case none of the user's authentication tokens are updated.
User unknown to password service.
pam_start(3), pam_authenticate(3), pam_setcred(3), pam_get_item(3), pam_strerror(3), pam(8)
pam(3), pam_acct_mgmt(3), pam_authenticate(3), pam_filter(8), pam_sm_chauthtok(3), passwd(1).