Linux / UNIX: Generating random password with mkpasswd

Q. How do I generate random password to use with my shell script?

A. You can use makepasswd or mkpasswd command to generate random password under Linux / UNIX.

mkpasswd command is overfeatured front end to crypt(3) function. makepasswd command generates true random passwords by using the /dev/random feature of Linux, with the emphasis on security over pronounceability. It can also encrypt plaintext passwords given on the command line.

Install makepasswd

Type the following command at shell prompt:
$ sudo apt-get install makepasswd

How do I generate random password with mkpasswd?

Just type mkpasswd and hit enter key:
$ mkpasswd
Output:

Password: type-Your-Password
/o88/D4SvLix2

Store password in a shell variable, enter:
RPASS=$(makepasswd --char=10)
echo $RPASS

Above will generate passwords with exactly 10 characters long. To produce encrypted passwords using the MD5 digest (hash), enter:
$ makepasswd --char=10 --crypt-md5

You can write a script as follows:

#!/bin/bash
# ... do something
userPassword=$(makepasswd --char=8)
# ... do with $userPassword
echo $userPassword
# ...
Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 1 comment… read it below or add one }

1 Slavko 11.11.07 at 12:27 pm

apt-get install makepasswd

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tagged as: , , , , , , , , ,

Previous post: Delete all root mail / inbox from a shell prompt

Next post: Linux list hardware information