サバとエンガワ

サーバーエンジニアしてます、地方に住んでます、、、

【スポンサーリンク】

ランダムなパスワードを生成する【CentOS】

 Webサービスを利用するときにパスワードを設定することがありますが、皆さんはどのようにしてパスワードを設定していますか?

 

総務省が「安全なパスワード」とはどういうものなのか?を示しています。

設定と管理のあり方|IDとパスワード|どんな危険があるの?|基礎知識|国民のための情報セキュリティサイト

上記のようなパスワードを考えるのは、結構一苦労ですよね?

 

CentOSでは「mkpasswd」というコマンドを使うことで、ランダムなパスワードを生成することができます。今回はそのコマンドについてメモしていこうと思います。

f:id:adakkuma:20180908233229j:plain

 

「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

 

 

これで、ランダムなパスワードを簡単に生成することができますね。

あとは生成したパスワードを適切に管理することが大切ですね

では