ユーザを一括して登録する

Linuxでたくさんの人のユーザアカウントを作らないといけないことになった

newusersを利用すると良いらしい
newusers ファイル名
という使い方
ファイルの中はpasswdみたいな書式で書く。

ユーザアカウント:平文パスワード:uid:gid:フルネーム:ホームディレクトリ:シェルのパス

というのを人数分書いておく
uid gid フルネームは省略可能

/etc/skelの内容がコピーされないのが問題
あとは、パスワードの有効期限とかもまとめて設定できるといいんだけど・・・


で、それを作るのも大変だったので書いたperlスクリプト
(パスワードはアカウント名と同じになるので変えさせる必要がある)
#!/usr/bin/perl
$filename="1行ずつユーザ名の書いてあるファイルのファイル名";
#開始したい番号
$uid=1600;
#gidは全員同じ
$gid=100;
open(IN,$filename);
@userlist = <IN>
close(IN);
foreach $idline(@userlist){
$id = substr($idline,0,9);
print ("$id\:$id\:$uid\:$gid\:\:/home/$id\:/bin/csh\n");
$uid++;
}