homeディレクトリ作成やログインスクリプトをいい感じに設定してくれるadduserを、大量ユーザ作成時等に、bashスクリプトで対話式部分をスキップして自動化する方法が見当たらなかったので自分で作った。
なんどか同じような事をしている気がするので、ベース部分だけ備忘目的で記事にします。
(adduserとuseradd、どちらがどっちかいつも忘れる…)
これで出来た
users=("nishi higashi minami kita")
for username in $users; do
# 対話式でメールアカウントとか聞かれないように-gecos ""指定
# パスワードは後でchpasswdで設定するのでdisable
adduser --disabled-password --gecos "" "$username"
# 非対話でパスワード設定(初期パスワードをユーザ名と同じにする)
echo "${username}:${username}" | chpasswd
# sudo 権限付与
gpasswd -a "$username" sudo
done
特にaptで何かインストールしないといけないとかもありません。
パスワード初期値はユーザ名と同値にしてますがベースということでご容赦ください。
adduserとuseraddは、Redhat系とDebian系で挙動が全然違うようなので注意。