mieki256's diary



2007/07/20(金) [n年前の日記]

#2 [epia][vine][linux] EPIA機のユーザアカウント作成で悩む

手作業で作るの、面倒だな…。スクリプトで、一括作成できないものだろうか。

_perlによるユーザーの一括登録 :

_まめぷろ ゆうざあ一発!

Perlスクリプトでユーザアカウントを作成してる例、らしい。

_Manpage of NEWUSERS :

上記のページを参考にスクリプトを作成。 :

user_list.txt を読み込んでユーザアカウントを一括作成。
#!/usr/bin/perl -w

use strict;
use warnings;

my $filename = "user_list.txt";

print "add new user\n";

open(IN,$filename) || die "Can't open $filename : $!";
while(<IN>) {
    chomp;
    next if /^\#/;
    next if /^\s*$/;

    my ($user, $pass, $uid, $gid, $gecos, $homedir, $shellname)
        = split(/:/, $_ );
    print "$user , $pass , $uid , $gid , $gecos , $homedir , $shellname\n";
    if ( 0 ) {
        print "/usr/sbin/useradd -u $uid -g $gid -d $homedir -s $shellname -m $user", "\n";
    } else {
        `/usr/sbin/useradd -u $uid -g $gid -d $homedir -s $shellname -m $user`;
        open(CMD, "| /usr/sbin/chpasswd > /dev/null");
        print CMD "$user:$pass\n";
        close(CMD);
    }
}
close(IN);
exit;

user_list.txt の内容。
# user list

hoge:pass:500:501::/home/hoge:/bin/bash
piyo:pass:500:501::/home/piyo:/sbin/nologin
とかそんな感じで。

_ホームディレクトリのデフォルトパーミッションを変更するには − @IT :

_@IT:ファイル新規作成時のパーミッションを変更するには

上記スクリプトを動かしたら、作成されたディレクトリのパーミッションが 700 になって困った。/etc/login.defs 中で UMASK 077 が指定されてた。該当行をコメントアウト。何も指定しなければ UMASK 022 になる = ディレクトリのパーミッションは 755 になるらしい。

以上です。

過去ログ表示

Prev - 2007/07 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project