CentOS7 パスワードをランダムに生成する方法

シェアする

適当なパスワードを考える際に、その適当なパスワードが思いつかないというか考えるのが面倒な時があります。一発ものであれば、適当にキーボードを打ち込んで出力されたものをパスワードとしてもいいですが、いくつかのパスワードを用意する必要があれば、パッケージを使って生成することが可能です。

また、セキュリティ的にもキーボードを打ち込んで作成したパスワードよりも、セキュリティ面からの向上が見込めます。

インストール

パスワードを生成するには、「mkpasswd」コマンドを使用しますので、必要となるパッケージをインストールします。

$ yum info expect <LF>
    :
Available Packages
Name        : expect
Arch        : x86_64
Version     : 5.45
Release     : 14.el7_1
Size        : 262 k
Repo        : base/7/x86_64
    :
# yum -y install expect <LF>
    :
Installed:
  expect.x86_64 0:5.45-14.el7_1
 
Dependency Installed:
  tcl.x86_64 1:8.5.13-8.el7
 
Complete!

使い方

単純に「mkpasswd」コマンドを引数無しで実行すると、9文字の長さでパスワードがランダムに生成されます。

mkpasswd <LF>
4sfg~5uBR
$ mkpasswd <LF>
[v3aq3gCI

また、引数にOSのユーザーを指定することで、指定されたユーザーのパスワードが変更されます。

# mkpasswd takam <LF>
fY4w(ev5J <= ユーザー「takam」のパスワードになる

生成されるパスワードは、利用するシステムのパスワード設定ルールに合わせて、オプションで指定することが可能です。

オプション 説明 デフォルト
-l パスワード文字列の長さを指定 9
-d パスワード文字列に含める数字の最低個数 2
-c パスワード文字列に含める小英文字の最低個数 2
-C パスワード文字列に含める大英文字の最低個数 2
-s パスワード文字列に含める特殊文字の最低個数 1
-p パスワード生成するプログラムを指定 /bin/passwd
-2 キーボード入力時に両手を使うようなパスワードを生成 両手を使うようなパスワードを求めない
-v パスワード設定の状況を出力 出力しない