# chpasswd

## NAME



           chpasswd - update passwords in batch mode
    


## SYNOPSIS



    
           **chpasswd**[_options_]
    


## DESCRIPTION



           The **chpasswd** command reads a list of user name and password pairs
           from standard input and uses this information to update a group of
           existing users. Each line is of the format:
    
           _user_name_ :_password_
    
           By default the passwords must be supplied in clear-text, and are
           encrypted by **chpasswd**. Also the password age will be updated, if
           present.
    
           By default, passwords are encrypted by PAM, but (even if not
           recommended) you can select a different encryption method with the
           **-e** , **-m** , or **-c** options.
    
           Except when PAM is used to encrypt the passwords, **chpasswd** first
           updates all the passwords in memory, and then commits all the
           changes to disk if no errors occurred for any user.
    
           When PAM is used to encrypt the passwords (and update the
           passwords in the system database) then if a password cannot be
           updated **chpasswd** continues updating the passwords of the next
           users, and will return an error code on exit.
    
           This command is intended to be used in a large system environment
           where many accounts are created at a single time.
    


## OPTIONS



           The options which apply to the **chpasswd** command are:
    
           **-c** , **--crypt-method** _METHOD_
               Use the specified method to encrypt the passwords.
    
               The available methods are _DES_ , _MD5_ , _SHA256_ , _SHA512_ and _NONE_ if
               your libc supports these methods.
    
               By default, PAM is used to encrypt the passwords.
    
           **-e** , **--encrypted**
               Supplied passwords are in encrypted form.
    
           **-h** , **--help**
               Display help message and exit.
    
           **-m** , **--md5**
               Use MD5 encryption instead of DES when the supplied passwords
               are not encrypted.
    
           **-R** , **--root** _CHROOT_DIR_
               Apply changes in the _CHROOT_DIR_ directory and use the
               configuration files from the _CHROOT_DIR_ directory. Only
               absolute paths are supported.
    
           **-P** , **--prefix** _PREFIX_DIR_
               Apply changes to configuration files under the root filesystem
               found under the directory _PREFIX_DIR_. This option does not
               chroot and is intended for preparing a cross-compilation
               target. Some limitations: NIS and LDAP users/groups are not
               verified. PAM authentication is using the host files. No
               SELINUX support.
    
           **-s** , **--sha-rounds** _ROUNDS_
               Use the specified number of rounds to encrypt the passwords.
    
               You can only use this option with crypt method: _SHA256 SHA512_
    
               By default, the number of rounds for SHA256 or SHA512 is
               defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS
               variables in /etc/login.defs.
    
               A minimal value of 1000 and a maximal value of 999,999,999
               will be enforced for SHA256 and SHA512. The default number of
               rounds is 5000.
    


## CAVEATS



           Remember to set permissions or umask to prevent readability of
           unencrypted files by other users.
    


## CONFIGURATION



           The following configuration variables in /etc/login.defs change
           the behavior of this tool:
    
           **SHA_CRYPT_MIN_ROUNDS**(number), **SHA_CRYPT_MAX_ROUNDS**(number)
               When **ENCRYPT_METHOD** is set to _SHA256_ or _SHA512_ , this defines
               the number of SHA rounds used by the encryption algorithm by
               default (when the number of rounds is not specified on the
               command line).
    
               With a lot of rounds, it is more difficult to brute force the
               password. But note also that more CPU resources will be needed
               to authenticate users.
    
               If not specified, the libc will choose the default number of
               rounds (5000), which is orders of magnitude too low for modern
               hardware.
    
               The values must be inside the 1000-999,999,999 range.
    
               If only one of the **SHA_CRYPT_MIN_ROUNDS** or
               **SHA_CRYPT_MAX_ROUNDS** values is set, then this value will be
               used.
    
               If **SHA_CRYPT_MIN_ROUNDS** > **SHA_CRYPT_MAX_ROUNDS** , the highest
               value will be used.
    
               Note: This only affect the generation of group passwords. The
               generation of user passwords is done by PAM and subject to the
               PAM configuration. It is recommended to set this variable
               consistently with the PAM configuration.
    


## FILES



           /etc/passwd
               User account information.
    
           /etc/shadow
               Secure user account information.
    
           /etc/login.defs
               Shadow password suite configuration.
    
           /etc/pam.d/chpasswd
               PAM configuration for **chpasswd**.
    


* * *