ユーザー作成コマンドのuseraddのオプションで-pを付けるとパスワードを設定できますが、この指定するパスワードは平文ではなくハッシュ化された物でなくてはいけません。
ということでスクリプトで自動化するかとpasswdうつの面倒くさいとか言う場合に使えるコマンドをメモしておく。
なお、環境としてはperlが使えることが条件です。
・一行コマンド
useradd -p `perl -e "print(crypt('平文パスワード', 'ソルト'));"` testuser
※ソルトは英数字2文字
・簡易スクリプト
#!/bin/sh SALT=`cat /dev/urandom | tr -dc '[:alnum:]' | head -c 2` USERPASSWD=`cat /dev/urandom | tr -dc '[:alnum:]' | head -c 8` useradd -p `perl -e "print(crypt('${USERPASSWD}', '${SALT}'));"` $1 echo "USER NAME:$1" echo "PASSWORD:${USERPASSWD}" exit 0
簡単に書いてるだけなので適宜修正してください。
参考URL
- http://oku.edu.mie-u.ac.jp/~okumura/c/auth.html
- http://d.hatena.ne.jp/pasela/20120710/random
- http://una.soragoto.net/lecture/linux/user_cmd/useradd.html