With a user name, mkpasswd-expect assigns a new password to the user.
The passwords are randomly generated according to the flags below.
mkpasswd-expect -l 20
The -d flag defines the number of digits that must be in the password. The default is 2. The following example creates a password with 3 digits.
mkpasswd-expect -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 number of uppercase alphabetic characters that must be in the password. The default is 2.
The -s flag defines the 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.
The -v flag causes the password-setting interaction to be visible. By default, it is suppressed.
mkpasswd-expect -l 15 -d 3 -C 5
mkpasswd-expect is in the public domain. NIST and I would appreciate credit if this program or parts of it are used.