1.pwginの最大の特徴
pwginとはlinuxで使用できるパスワード生成コマンドです。
パスワードを生成するコマンドなら
・mkpwd
・pwmake
がありますが、最大の特徴として禁止文字を指定できるところにあります。
json形式(aws ses cliのsendEmailなど)でパスワード添付メールを送る際などに便利でしょう。
下記から使い方を紹介していきます。
2.pwginをlinuxにインストール
まずepelをインストールする必要があります。
下記のコマンドでインストールできます。
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
次に以下のコマンドでpgwinをインストールします。
sudo yum install pwgen –y
これでpgwinが使用できます。
3.基本の書式
基本は以下のように使用します。
pwgen [数字1] [数字2]
数字1にはパスワードの文字数を指定します。
数字2には生成するパスワードの数を指定します。
例えばこんな感じに指定してコマンドを叩くと
pwgen 9 4
9文字のパスワードが4個生成されます。
▼結果
hoafan4-^ arAfsf112 Hs920s12" Gwd83ka1s
4.禁止文字の指定方法
いよいよタイトルにある禁止文字の指定方法について説明します。
禁止文字の指定にはオプションでrを使用します。
以下のように記述してください。
pwgen -r='禁止文字' 9 4
例1
「8」を禁止文字として9文字のパスワードを4つ生成したい時
pwgen -r='8' 9 4
▼結果
fYsnf23;s geDe3va7f2 Bd90643sf haDer)tc1
禁止文字を複数指定することもできます。その場合はシングルクォートのなかに禁止文字を複数いれてください。
例2
「8」と「/」と「a」を禁止文字として9文字のパスワードを4つ生成したい時
pwgen -r='8/a' 9 4
5.使用例
JSON形式でパスワードを送付する際に役立ちます。
JSON形式では以下の文字がメール文に含まれていると送信できません。
・”(ダブルクォート)
・¥(バックスラッシュ)
・/(スラッシュ)
そのため、json方式を用いて、上記の文字が含まれたパスワードを添付したメールを送信ができません。
そこでpgwinです!
以下の正規表現でパスワードを生成しましょう。
pwgen -r='"¥/' 9 1
これで生成されるパスワードに”(ダブルクォート),¥(バックスラッシュ),/(スラッシュ)が含まれません。
メールが送信できます!
5.ほかのオプション
pwginにはrだけでなく他のオプションもあります。
名前 | 説明 |
---|---|
-c | 少なくとも一つの大文字を含める |
-A | 大文字を含めない |
-n | 少なくとも1つの数字を含める |
-0 | 数字を含めない |
-1 | 生成されたパスワードを一行に一つ表示する |
-y | 少なくとも一つの記号を含めて生成する |
-s | ランダム性の高いパスワードを生成する |
-B | あいまいな文字列をふくめない(1とi,0とoなど) |
-v | 母音や母音と間違う文字を含まない |
-N | 数字のパスワードを表示する |
pwginは覚えやすいパスワードを生成するのでsオプションをつけて生成することをお勧めします。
さらに
pwgin -sync 12 1
とオプションを設定したらセキュアなパスワードが生成できると思います。
みなさんもぜひpwginを使用してみてくださいね。