Webサービスを利用するときにパスワードを設定することがありますが、皆さんはどのようにしてパスワードを設定していますか?
総務省が「安全なパスワード」とはどういうものなのか?を示しています。
設定と管理のあり方|IDとパスワード|どんな危険があるの?|基礎知識|国民のための情報セキュリティサイト
上記のようなパスワードを考えるのは、結構一苦労ですよね?
CentOSでは「mkpasswd」というコマンドを使うことで、ランダムなパスワードを生成することができます。今回はそのコマンドについてメモしていこうと思います。
「mkpasswd」のインストール
CentOSの最小インストールでは、このコマンドはインストールされていません。
baseリポジトリにあるexpectというパッケージをインストールすることで利用することができます。
$ sudo yum install expect
・・・・
Installed:
expect.x86_64 xxxxxxxxxxxxxxxxx
・・・・
Complete!
$ which mkpasswd
/usr/bin/mkpasswd
これで準備完了です
ランダムなパスワードを生成する
引数なしで実行すると、長さ9文字のランダムなパスワードを出力します。
(数字:2文字以上, 小英字:2文字以上, 大英字:2文字以上, 特殊文字:1文字以上)
$ mkpasswd
o8{z6oHPx
$ mkpasswd
*j88vEzbA
実行するたびに出力されるパスワードは変わりますので、いくつか生成してどれかのパスワードを設定すれば良いと思います。
オプションをつけることで、生成するパスワードの長さやパスワードに含める文字列などを変更することができます。
$ mkpasswd -l 15←"-l"で生成するパスワードの長さを指定
$ mkpasswd -d 3 ←"-d"で生成するパスワードに含める数字を3文字以上に設定
$ mkpasswd -c 4 ←"-c"で生成するパスワードに含める小英字を4文字以上に設定
$ mkpasswd -C 2 ←"-C"で生成するパスワードに含める大英字を2文字以上に設定
$ mkpasswd -s 5 ←"-s"で生成するパスワードに含める特殊文字を5文字以上に設定
$ mkpasswd -l 15 -d 3 -C 2 ←もちろん組み合わせることもできます
もちろん、linuxユーザのパスワードへ設定することもできます
$ mkpasswd <ユーザ名>
↓例
$ mkpasswd test01
gBO90x{dx
これで、ランダムなパスワードを簡単に生成することができますね。
あとは生成したパスワードを適切に管理することが大切ですね
では