ランダムなパスワードを生成 - mkpasswdの謎
Debianではデフォルトで入っているmkpasswd(/usr/bin/mkpasswd)は、下記JMのMANページで検索出来るmkpasswd(8)とはどうも違う。
JM Home Page - MKPASSWD
ランダムなパスワードを生成してくれるのだけど、以下のような動作になる。
# mkpasswd Password: rB91Ur7xT3tUM #
実行するとパスワードの入力を促されるが、そのままリターンするとランダムなパスワードを返してくれる。
生成されるパスワードの条件をもう少し制御したい。ということで、昔、Red HatだとmkpasswdというPerlスクリプトがあったなあというのを思い出し、Debianでも探してみた。
# apt-cache search mkpasswd libstring-mkpasswd-perl - random password generator whois - the GNU whois client #
あった。ということで、早速インストール。
# apt-get install libstring-mkpasswd-perl
ヘルプを表示してみる。
# mkpasswd.pl --help Usage: mkpasswd.pl [-options] -l # | --length=# length of password (default = 9) -d # | --digits=# min # of digits (default = 2) -c # | --lower=# min # of lowercase chars (default = 2) -C # | --upper=# min # of uppercase chars (default = 2) -s # | --special=# min # of special chars (default = 1) -2 | --distribute alternate hands --nodigits alias for --digits=0 --nolower alias for --lower=0 --noupper alias for --upper=0 --nospecial alias for --upper=0 #
デフォルトでは、大文字・小文字・特殊記号が混在して9文字でパスワードを生成してくれる(大文字・小文字・特殊記号はそれぞれ2文字含まれるようになっている)。
# mkpasswd.pl zV9sf2+Qr #
大文字・小文字のみ、特殊記号なし、8文字のパスワードを作ってみる。
# mkpasswd.pl --nospecial -l 8 saH8Mn9l #
/usr/bin/mkpasswdの方は、時間を見つけて再調査。