Ubuntu 資料一覧
/dev/urandomを使ってランダムなパスワードを生成する方法
2014/11/09更新
対応バージョン: 14.04
Linuxでは特別なソフトウェアを使わなくても/dev/urandomを使ってランダムなパスワードを簡単に生成することができる。
trやfoldとの組み合わせなので不要な文字を取り除いたり桁数を変えたりすることも簡単にできる。
以下にいくつか例を示す。
英数字
(foldとheadを使って12桁のパスワードを10個生成)
% cat /dev/urandom | tr -dc "[:alnum:]" | fold -w 12 | head -n 10 a4QW6L1ZEmR8 Q09o986mrvso FSOD8ilCHV5Z QcjDXLLH1xSL tHdHNO1i2xYG qwZdRyXxb8ut 1q8wifhvh5pv jEB9MmRQG0h3 aw9K7HpGy66x Yr5s5JcJub8v
英数字 + 記号
% cat /dev/urandom | tr -dc "[:graph:]" | fold -w 12 | head -n 10 n1ETpKJ([L3f (D*{Q-9O'}QA 0Fy+d{iU\.AP Uj^h/_vray\D l<dEC&}ein'h uZ'ylP1a?({. &;G450jKww*8 fk>hI6%@[Qgu qyEkx|[V3d9[ LF(AgM=riBw*
上記から間違えやすい文字(*)を省いたもの
(*) 1(数字のイチ)とI(英大文字のアイ)とl(英小文字のエル)、0(数字のゼロ)とO(英大文字のオー)、~(チルダ)と^(カレット)
% cat /dev/urandom | tr -dc "[:graph:]" | tr -d "1Il0O~^" | fold -w 12 | head -n 10 tjzuG5bCn6[& n[!DnN$W}&|> }xm>awYZsoHs g9*JWqi*Vc4f cRE|aLMK_emz k&.{Q|8=Gw=9 +(auXxm`g4Gr mBBH8i.;u_!4 rV/(MU5<[fB& >@cb}Zn>(]VD
このようにワンライナーで簡単にランダムなパスワードが生成できるのでシェルスクリプトなどに組み込むのも簡単である。
#!/bin/sh passwd=`cat /dev/urandom | tr -dc "[:graph:]" | head -c 12`