Update passwords in batch mode Using chpasswd

Sometimes, you need to put a non-interactive passwords using scripts, as you can see, you can’t use passwd tool, because it only works using interactive way.

chpasswd 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:


By default the supplied password must be in clear-text. Default encryption algorithm is DES. Also the password age will be updated, if present.

This command is intended to be used in a large system environment where many accounts are created at a single time.

Available Options

The options which apply to the chpasswd command are:

-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

Check passwords using the following command

echo “user:pass” | chpasswd

Sponsored Link

2 thoughts on “Update passwords in batch mode Using chpasswd

  1. echo “foo\nfoo” | passwd lied
    New UNIX password: BAD PASSWORD: it is WAY too short
    Retype new UNIX password: passwd: password updated successfully


  2. @Lied: bullshit, you way doesn’t work! At least on Debian 4.0r5 Etch.

    The only way I know which works is really:
    echo root:asd12qniqsdq | chpasswd

Leave a comment

Your email address will not be published. Required fields are marked *