wivern ロゴ

サイバーセキュリティ研究所

サイバーセキュリティを中心に、軍事、防犯、サーバーの管理と監視、その他、最新技術を研究しています。


Linux コマンド辞典「pwgen」

pwgen:パスワードを生成する

IPAパスワード啓蒙

pwgen はパスワードを生成するためのコマンドで、使用するにはインストールする必要があります。

yum install pwgen
以下は、man の内容を日本語に直訳して説明しています。

名前
pwgen - 発音できるパスワードを生成する

書式
pwgen [オプション] [パスワードの長さ] [パスワードの数]

説明
pwgen は、人間に覚えやすい一方で可能な限り安全に設計されたパスワードを生成する。
人間が覚えられるパスワードは、完全に完全にランダムなパスワードと同じほど安全には絶対にならない。
特に、-s オプションを使わずに pwgen で生成されたパスワードは、パスワードがオフラインでブルート・フォース攻撃をされうる場所では使われるべきではない。
その一方、完全にランダムに生成されたパスワードは評価が低い傾向があり、同様に妥協されている問題でもある。
pwgen は、インタラクティブにシェル・スクリプトで使われるように設計されている。
それゆえに、そのデフォルトのふるまいは、標準出力が tty 端末か他のプログラムへのパイプかによって異なる。
インタラクティブに使うと、pwgen は画面いっぱいにパスワードを表示して、ユーザーに1つのパスワードを選ばせてすぐに画面を消す。
これは、誰かが「肩越しに」ユーザーが選んだパスワードを見ることを防止する。
標準出力( stdout )が tty でない場合は、pwgen は1つのパスワードを生成するだけで、これはシェル・スクリプトにはより一層便利に役立ち、このプログラムの前のバージョンと互換性を保っている。

オプション
-0, --no-numerals
生成されたパスワードに数字を含めない。

-1
生成されたパスワードを1行に1つ表示する。

-A, --no-capitalize
生成されたパスワードに大文字が含まれるように困らせない。
(訳注:生成されたパスワードに大文字を含めない)

-a, --alt-phonics
このオプションは、特に何もしない。広報互換性のためだけに存在する。

-B, --ambiguous
「l」と「1」や「0」と「O」のように、表示したときにユーザーを混乱させる文字を使わない。
これは、パスワードの品質を低下させると同時に、可能なパスワードの数をかなり減らす。
目の悪いユーザーには役立つかもしれないが、一般にこのオプションの使用は推奨しない。

-c, --capitalize
パスワードに少なくとも1文字大文字を含む。
標準出力が tty デバイスの場合のデフォルト。

-C
生成されたパスワードを縦に表示する。
標準出力が tty デバイスの場合のデフォルト。

-N, --num-passwords=num
数字のパスワードを生成する。
パスワードを縦に表示する場合と1つの場合のデフォルト。

-n, --numerals
パスワードに少なくとも1文字数字を含む。
標準出力が tty デバイスの場合のデフォルト。

-H, --sha1=/path/to/file[#seed]
パスワードを生成するために、ファイルで与えられた SHA1 ハッシュとオプションのシードを使う。
もし使ったファイルやシードや pwgen のオプションを覚えている場合は、同じパスワードを計算することを許可する。
例:「pwgen -H ~/your_favorite.mp3#your@email.com」は pop3 アカウントに可能なパスワードの一覧を提示し、何度でもこの一覧を求めることができる。

注意:このオプションを使って生成したパスワードは、あまりランダムではない。
このオプションを使う場合は、攻撃者がファイルのコピーを入手できないようにしなければならない。
また、ファイル名は、~/.history や ~/.bash_history ファイルから簡単に利用可能であることにも注意する。

-h, --help
ヘルプ・メッセージを表示する。

-s, --secure
完全にランダムで覚え難いパスワードを生成する。
実際ユーザーはパスワードを書いた紙きれをモニターにテープで貼ることがたいてい保証されているので、これは機械的なパスワードにのみ使われるべきである。

-v, --no-vowels
母音や母音と間違う数字を含まないランダムなパスワードを生成する。
システム管理者に、パスワードが偶然にも部分的に攻撃的な文字列を含む心配をしなくていいように、あまり安全ではないパスワードを提供する。

-y, --symbols
パスワードに少なくとも1文字特殊文字を含む。

作者
pwgen のこのバージョンは Theodore Ts'o によって書かれた。
これは Brandon S. Allbery によって独自に書かれたプログラムを手本にしており、その後、Olaf Titz、Jim Lynch や他の者によって大規模に改造された。
元のプログラムが多少急ごしらえで保守が困難だったのと、プログラムの許諾の状態が不明瞭だったので、Theodore Ts'o が一から書き直した。

参考
passwd(1)

記述に際しては、細心の注意をしたつもりですが、間違いやご指摘がありましたら、こちらからお知らせいただけると幸いです。


→「Linux コマンド辞典「passwd」」
←「Linux コマンド辞典「mkpasswd」」


« 戻る