LoginSignup
14
12

More than 5 years have passed since last update.

mkpasswdでパスワードを生成しよう

Last updated at Posted at 2017-12-04

「パスワードはよくない」と言われ続けて久しいですが、パスワードに変わる決定打も出ない以上、未だパスワードを使い続けざるを得なくなっている、のも間違いないところです。

パスワードを生成するには…?

ささっとPerlやRubyのワンライナーで書ける人や、ブラウザコンソールで実行してしまえる人なら不要かもしれませんが、「適当なパスワードを生成する」のは、意外と面倒なものです。とりわけ、「大文字・小文字・数字・記号全部入りの20文字のパスワード」となれば、正しくランダムに生成する方法を考えるだけで面倒なものです。

ネットを探せば、Webページで自動的にパスワードを生成するツールがありますが、乱数アルゴリズムとか、そういう大事なパスワードをHTTPで流してしまっていいのかとか、ページに不正な仕掛けがある危険性とか、総合的に考えれば選択肢とすべきではないといえます。

mkpasswdの使い方

幸い、Linuxにはmkpasswdという、そのためのツールがあります。expectというパッケージに入っていることが多いです。

インストールして、単にmkpasswdとすると、デフォルト設定では「45Is!szJv」のような、英字の大文字・小文字・数字・記号が混ざった9文字のパスワードを生成します。生成するパスワードは、引数で制御できます。

  • -l 長さ…パスワード全体の文字数。
  • -d 数…数字の入る最低個数。
  • -c 数…英小文字の入る最低個数。
  • -C 数…英大文字の入る最低個数。
  • -s 数…記号の入る最低個数。

なお、スイッチ以外の引数を指定すると、そのユーザーにパスワードをセットするという意味となります。うっかり実行してしまわないように、一般ユーザーから実行した方がいいでしょう(一般ユーザーなら、他人のパスワードは変更できません)。

参考

14
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
12