Linux Tips

任意の文字数でパスワードをランダム生成するには

北浦訓行
2006/5/25

 最近では、フィッシングサイトやキーロガータイプのウイルスの影響もあって、インターネットバンキングをはじめとして、パスワードの変更を頻繁に求めるサイトが増えてきた。

 パスワードをランダムに作成するにはで紹介したとおり、ランダムなパスワードを生成するにはmkpasswdコマンドが便利だが、サイトによってパスワードの長さや使用可能な文字に違いがある。ここでは、mkpasswdコマンドでパスワードを生成する際に、使用する文字を変更する方法を紹介する。

 Fedora Core 5の場合、インストール時のオプションによってはmkpasswdコマンドがインストールされないので、以下のyumコマンドを実行する。

# yum install expect

 mkpasswdコマンドを引数なしで実行すると、9文字のパスワードが生成される。

$ mkpasswd
q9XX2yyu+

 -lオプションで文字数を指定すると、パスワードの長さを変更できる。15文字のパスワードを生成するには、以下のようにする。

$ mkpasswd -l 15
)ykr27slwbyGuiB

 また、デフォルトでは、生成されるパスワードに最少でも2つの数字が含まれるようになっている。これを変更するには、-dオプションを指定する。例えば、「-d 4」を指定すると4つの数字が含まれたパスワードが生成される。逆に、「-d 0」を指定すると数字が含まれないパスワードになる。

$ mkpasswd -d 4
Wbm7@33P0
$ mkpasswd -d 0
gistZdkT_

 mkpasswdコマンドには、ほかにもパスワード生成に役立つオプションがある。代表的なオプションを以下に挙げておく。

オプション
意味
-l 数字 パスワードの長さを指定(デフォルトは9)
-d 数字 パスワードに含める数字の数を指定(デフォルトは2)
-c 数字 パスワードに含めるアルファベット(小文字)の数を指定(デフォルトは2)
-C 数字 パスワードに含めるアルファベット(大文字)の数を指定(デフォルトは2)
-s 数字 パスワードに含める特殊文字(記号など)の数を指定(デフォルトは1)
-2 パスワードが、右手と左手で交互に入力される文字配列となる(QWERTYキーボードの場合)。両手でパスワードを入力することになるため、入力時に手元を見られてパスワードが盗まれる可能性が低くなる

 また、ユーザーアカウントをオプションとして指定すると、アカウントのパスワードをmkpasswdで生成したパスワードに自動的に置き換える。例えば、「nori」というユーザーアカウントを指定すると、noriのパスワードは「62xcrFPf+」に変更される。以降、noriでログインする際は、パスワードとして「62xcrFPf+」を入力する必要がある。

$ mkpasswd nori
62xcrFPf+

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間