すごく簡単にユーザーを一括で登録する方法

50件ほどのユーザー登録を行なった際に使った方法です。

例えば、5ユーザーを登録する場合

ユーザーの追加(useraddコマンド)

# useradd -s /sbin/nologin hoge1
# useradd -s /sbin/nologin hoge2
# useradd -s /sbin/nologin hoge3
# useradd -s /sbin/nologin hoge4
# useradd -s /sbin/nologin hoge5

「-s /sbin/nologin」は、SSHでログインさせたいなら不要です

useraddコマンドは、そもそも対話型じゃないのでそのまま実行するだけでOKです。
hoge1やhoge2がユーザー名になります。

パスワードの設定(passwdコマンド)

# echo "hogehoge1" | passwd --stdin hoge1
# echo "hogehoge2" | passwd --stdin hoge2
# echo "hogehoge3" | passwd --stdin hoge3
# echo "hogehoge4" | passwd --stdin hoge4
# echo "hogehoge5" | passwd --stdin hoge5

passwdコマンドは対話型ですが、–stdinで標準入力からパスワードを設定出来るので、例のような感じでコマンドを叩けばOK。
hoge1やhoge2が、useraddで追加したユーザー名です。echoでパスワードを渡してあげます。

メールアカウントのパスワード設定(saslpasswd2(SMTP-AUTH))

# echo "hogehoge1" | saslpasswd2 -p -u example.com -c hoge1
# echo "hogehoge2" | saslpasswd2 -p -u example.com -c hoge2
# echo "hogehoge3" | saslpasswd2 -p -u example.com -c hoge3
# echo "hogehoge4" | saslpasswd2 -p -u example.com -c hoge4
# echo "hogehoge5" | saslpasswd2 -p -u example.com -c hoge5

saslpasswd2コマンドを使った設定は、SMTP-AUTHを使わなければ不要です。
passwdコマンドみたく-pを使えばパイプで標準出力を渡せます。
-u がメールのドメイン(Postfixだとsmtpd_sasl_local_domainに設定した内容)。
-c がユーザー名で。echoでパスワード。

実際に使う時

実際に使う時は、ユーザーの一覧をエクセルで作って、エクセル上でコマンドを作って、ターミナルにコピペして実行するか
テキストでユーザーとパスワードの一覧と、それを使って自動的に上記のコマンドを実行してくれるシェルスクリプト組むのがよいと思います。

冒頭の50件追加した時は前者の方法で対応しました。
すごく簡単なので、オススメですよ~

さすがに、1つずつ対応するのは大変なので、楽して行きましょう!

コメントは受け付けていません。