パスワードをランダムに生成してくれる 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つの特殊文字を含める |