パスワードの自動生成と禁止文字の指定:その2
http://d.hatena.ne.jp/sik1/20100818/1282121458
mkpasswdでパスワードを設定する処理が重いので出力を眺めながら気長に待つ。1パターンに1秒程度かかる。
改良してみたのでメモ。
改良点は次の二つ。
- 「mkpasswd」の代わりに「expect + passwd」の組み合わせでパスワードを設定するようにした
- パスワード生成中のNGパターン表示を抑止(NGの場合は"."を表示するだけにする
#!/bin/sh user=$1 while password=`mkpasswd -s 0 -l 9` echo "$password" | grep -q '[oO01l9quUvVwWb6B8Z2]' do echo -n "." done passwd="passwd" expect -c " spawn $passwd $user expect New\ ; send $password; send \r expect Retype\ ; send $password; send \r; expect updated\ ; expect eof exit 0 " echo $password
TODO:expectじゃなくてヒアドキュメントでそのうち。。。