パスワードをランダムに生成してくれる mkpasswd と pwgen コマンドの使い方です。
mkpasswd
mkpasswd はランダムな文字列でパスワードを生成できるコマンドです。インストールは mkpasswd ではなく expect で行ないます。
$ brew install homebrew/dupes/expect # Mac $ sudo yum install expect # CentOS
基本構文は次の通りです。userを指定して root で実行するとパスワードを生成すると同時にユーザーのパスワードを設定することもできます。
mkpasswd [ OPTION ] [ user ]
| オプション | 機能 |
|---|---|
| -l | パスワードの文字数(デフォルト9) |
| -d | パスワードに含める数字の最低文字数(デフォルト2) |
| -c | パスワードに含める小文字の最低文字数(デフォルト2) |
| -C | パスワードに含める大文字の最低文字数(デフォルト2) |
| -s | パスワードに含める特殊文字の最低文字数(デフォルト1) |
| -p | 指定したプログラムにパスワードをセット |
| -2 | パスワード入力の際に左右の手を交互に使うような文字を使用 |
| -v | パスワード設定の過程を表示(デフォルト非表示) |
ユーザーにパスワードを設定する場合は次のようになります。(rootで実行)
# mkpasswd -p /usr/bin/passwd -v vagrant spawn /usr/bin/passwd vagrant Changing password for user vagrant. New password: Retype new password: passwd: all authentication tokens updated successfully. password for vagrant is 7L.0ymHys
pwgen
pwgen は覚えやすいパスワードを生成するプログラムです。
$ brew install pwgen # Mac $ sudo yum install pwgen # CentOS
基本構文は次の通りです。pw_lengthには文字数を、num_pwには生成するパスワード数を指定します。pwgenのみで実行すると 8 文字のパスワードが 160 個生成されます。
pwgen [ OPTION ] [ pw_length ] [ num_pw ]
| オプション | 機能 |
|---|---|
| -0, --no-numerals | パスワードに数字を含めない |
| -1 | 生成したパスワードを1行につき1つ出力 |
| -A, --no-capitalize | パスワードに大文字小文字を含める事を考慮しない |
| -B, --ambiguous | 'l' '1'や'0' 'O'のような間違えやすい文字は使用しない |
| -N, --num-passwords=n | パスワードの生成個数(num_pwで指定するのと同じ) |
| -s, --secure | パスワードを完全にランダムに生成(基本はランダムじゃない) |
| -y, --symbols | パスワードに少なくとも1つの特殊文字を含める |