メールユーザの一括登録2008年07月01日 13時38分

近々Fedora6のバージョンアップを本番環境で行おうと考えている。しかし万が一失敗したら・・・心配は尽きない。

トラブル発生時にすぐさま対応できるように準備をしておこう。復旧時に一番時間がかかりそうなのはメールユーザの再登録だな。一人一人ユーザ名とパスワードを登録していては復旧が遅くなってしまう。と言うことでシェルスクリプトを作ってみた。

...................................................................................

for line in `cat list.txt` ・・・1

do

user=`echo $line |cut -d: -f1` ・・・2

/usr/sbin/useradd -g mailuser -s /sbin/nologin $user ・・・3

/usr/sbin/setquota $user 20480 20480 0 0 -a  ・・・4

echo $user ・・・5

done ・・・6

/usr/sbin/chpasswd < list.txt ・・・7

...........................................................................................

まず最初に

ユーザ1:パスワード1

ユーザ2:パスワード2

ユーザ3:パスワード3.........

というコロン区切りのリストを「list.txt」という名で作成しておく。

1.「list.txt」を1行ずつ読み込み、変数lineに入れる

2.変数userにユーザ名を取り出す。

3.useraddコマンドでユーザを追加。グループ、シェルなども指定。

4.ついでにQUOTAの設定もしてしまう。

5.一応画面にユーザ名表示。

6.「list.txt」の最後の行まで繰り返す。

7.「chpasswd」コマンドでパスワードの一括設定。

まあ何も問題が起きなければ一番いいのだが。

しかしこのスクリプト、実は問題があった。

「chpasswdのバグ?」に続く...

************************************************

2012/10/25 追伸 http://sakanade.asablo.jp/blog/2012/10/25/6612167