====== ユーザー一括登録 ====== ===== adduserコマンド+chpasswdコマンド ===== ubuntuを使う場合はadduser+chpasswdにより、研究室の学生程度なら簡便な方法でユーザーの一括登録ができる。 $ sudo adduser --disabled-login --gecos GECOS t21d001 $ sudo adduser --disabled-login --gecos GECOS t22d004 $ sudo adduser --disabled-login --gecos GECOS t23d008 $ sudo chpasswd t21d001:平文パスワード t22d004:平文パスワード t23d008:平文パスワード ^D $ ===== useraddコマンドの-pオプション ===== ユーザの一括登録を行う場合などは''-p''オプションを使ってパスワードも同時に設定すると便利。ただし、''-p''オプションの引数は平文パスワードではなくハッシュドパスワードなので''perl''や''python''の''crypt''関数/モジュールを使って変換する。 ==== perl版(shから直接) ==== $ sudo useradd -m -p `perl -e "print(crypt('平文パスワード', '戦略兵器制限交渉'));"` t92e005 まあ、これが一番単純かな。 ==== python版 ==== $ python -c "import crypt; print crypt.crypt('平文パスワード','\$6\$塩\$') >>> import crypt >>> print crypt.crypt('平文パスワード','\$6\$塩\$') ==== perl版 ==== #!/usr/bin/perl my $userid = $ARGV[0]; my $passwd = $ARGV[1]; my $hashedpass = crypt($passwd, "\$6\$sa"); $hashedpass =~ s/\$/\\\$/g; print "useradd -m -p $hashedpass $userid\n"; このファイルでは''crypt''の**salt**は''"sa"''とした。 上記のようなperlスクリプトを用意しておき、 % ./mkaddusers ユーザ名 平文パスワード > スクリプトファイル名 ... % sudo sh スクリプトファイル名 のように登録する。 ==== mkpasswd in whois package ==== whoisパッケージに上記の処理をするコマンドmkpasswdが存在するのでそれを使うというのがファイナルアンサー。