PAM_AUTHTOK_CHECK(7)                     Standards, Environments, and Macros
NAME
       pam_authtok_check - authentication and password management module
SYNOPSIS
       pam_authtok_check.so.1DESCRIPTION
       pam_authtok_check provides functionality to the Password Management
       stack. The implementation of 
pam_sm_chauthtok(3PAM) performs a number
       of checks on the construction of the newly entered password.       
pam_sm_chauthtok() is invoked twice by the PAM framework, once with
       flags set to 
PAM_PRELIM_CHECK, and once with flags set to       
PAM_UPDATE_AUTHTOK. This module only performs its checks during the
       first invocation. This module expects the current authentication
       token in the 
PAM_OLDAUTHTOK item, the new (to be checked) password in
       the 
PAM_AUTHTOK item, and the login name in the 
PAM_USER item. The
       checks performed by this module are:       
length                           The password length should not be less that the
                           minimum specified in 
/etc/default/passwd.       
circular shift                           The password should not be a circular shift of
                           the login name. This check may be disabled in                           
/etc/default/passwd.       
complexity                           The password should contain at least the minimum
                           number of characters described by the parameters                           
MINALPHA, 
MINNONALPHA, 
MINDIGIT, and 
MINSPECIAL.
                           Note that 
MINNONALPHA describes the same
                           character classes as 
MINDIGIT and 
MINSPECIAL                           combined; therefore the user cannot specify both                           
MINNONALPHA and 
MINSPECIAL (or 
MINDIGIT).  The
                           user must choose which of the two options to use.
                           Furthermore, the 
WHITESPACE parameter determines
                           whether whitespace characters are allowed. If
                           unspecified 
MINALPHA is 2, 
MINNONALPHA is 1 and                           
WHITESPACE is yes       
variation                           The old and new passwords must differ by at least
                           the 
MINDIFF value specified in                           
/etc/default/passwd. If unspecified, the default
                           is 3. For accounts in name services which support
                           password history checking, if prior history is
                           defined, the new password must not match the
                           prior passwords.       
dictionary check                           The password must not be based on a dictionary
                           word. The list of words to be used for the site's
                           dictionary can be specified with 
DICTIONLIST. It
                           should contain a comma-separated list of
                           filenames, one word per line. The database that
                           is created from these files is stored in the
                           directory named by 
DICTIONDBDIR (defaults to                           
/var/passwd). See 
mkpwdict(8) for information on
                           pre-generating the database. If neither                           
DICTIONLIST nor 
DICTIONDBDIR is specified, no
                           dictionary check is made.       
upper/lower case                           The password must contain at least the minimum of
                           upper- and lower-case letters specified by the                           
MINUPPER and 
MINLOWER values in                           
/etc/default/passwd. If unspecified, the defaults
                           are 0.       
maximum repeats                           The password must not contain more consecutively
                           repeating characters than specified by the                           
MAXREPEATS value in 
/etc/default/passwd. If
                           unspecified, no repeat character check is made.
       The following option may be passed to the module:       
force_check                      If the 
PAM_NO_AUTHTOK_CHECK flag set, 
force_check                      ignores this flag. The 
PAM_NO_AUTHTOK_CHECK flag can
                      be set to bypass password checks (see                      
pam_chauthtok(3PAM)).       
debug                      syslog(3C) debugging information at the 
LOG_DEBUG                      level
RETURN VALUES
       If the password in 
PAM_AUTHTOK passes all tests, 
PAM_SUCCESS is
       returned. If any of the tests fail, 
PAM_AUTHTOK_ERR is returned.
FILES
       /etc/default/passwd                              See 
passwd(1) for a description of the
                              contents.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-------------------------+
       |  ATTRIBUTE TYPE    |     ATTRIBUTE VALUE     |
       +--------------------+-------------------------+
       |Interface Stability | Evolving                |
       +--------------------+-------------------------+
       |MT Level            | MT-Safe with exceptions |
       +--------------------+-------------------------+
SEE ALSO
       passwd(1), 
syslog(3C), 
libpam(3LIB), 
pam(3PAM), 
pam_chauthtok(3PAM),       
pam_sm_chauthtok(3PAM), 
pam.conf(5), 
passwd(5), 
shadow(5),       
attributes(7), 
pam_authtok_get(7), 
pam_authtok_store(7),       
pam_dhkeys(7), 
pam_passwd_auth(7), 
pam_unix_account(7),       
pam_unix_auth(7), 
pam_unix_session(7), 
mkpwdict(8)NOTES
       The interfaces in 
libpam(3LIB) are MT-Safe only if each thread within
       the multi-threaded application uses its own 
PAM handle.
       The 
pam_unix(7) module is no longer supported. Similar functionality
       is provided by 
pam_authtok_check(7), 
pam_authtok_get(7),       
pam_authtok_store(7), 
pam_dhkeys(7), 
pam_passwd_auth(7),       
pam_unix_account(7), 
pam_unix_auth(7), and 
pam_unix_session(7).
                               August 19, 2023          PAM_AUTHTOK_CHECK(7)