mkpasswd






mkpasswd − generate new password, optionally apply it to a
user

mkpasswd [ args ] [ user ]

mkpasswd generates passwords and can apply them
automatically to users.  mkpasswd is based on the code from
Chapter 23 of the O’Reilly book "Exploring Expect".

With no arguments, mkpasswd returns a new password.

     mkpasswd

With a user name, mkpasswd assigns a new password to the
user.

     mkpasswd don

The passwords are randomly generated according to the flags
below.


The −l flag defines the length of the password.  The default
is 9.  The following example creates a 20 character
password.

     mkpasswd ‐l 20

The −d flag defines the minimum number of digits that must
be in the password.  The default is 2.  The following
example creates a password with at least 3 digits.

     mkpasswd ‐d 3

The −c flag defines the minimum number of lowercase
alphabetic characters that must be in the password.  The
default is 2.

The −C flag defines the minimum number of uppercase
alphabetic characters that must be in the password.  The
default is 2.

The −s flag defines the minimum number of special characters
that must be in the password.  The default is 1.

The −p flag names a program to set the password.  By
default, /etc/yppasswd is used if present, otherwise
/bin/passwd is used.

The −2 flag causes characters to be chosen so that they
alternate between right and left hands (qwerty‐style),
making it harder for anyone watching passwords being
entered.  This can also make it easier for a password‐
guessing program.









                             ‐2‐


The −v flag causes the password‐setting interaction to be
visible.  By default, it is suppressed.


The following example creates a 15‐character password that
contains at least 3 digits and 5 uppercase characters.

     mkpasswd ‐l 15 ‐d 3 ‐C 5


"Exploring Expect: A Tcl‐Based Toolkit for Automating
Interactive Programs" by Don Libes, O’Reilly and Associates,
January 1995.

Don Libes, National Institute of Standards and Technology

mkpasswd is in the public domain.  NIST and I would
appreciate credit if this program or parts of it are used.