add ubuntu users massively via perl with pre-defined format
Sunday, May 2, 2010 1:21:26 PM
#!/usr/bin/perl
use strict;
my $user_file=$ARGV[0];
if (!$ARGV[0]) {
print "*** Usage: ./adduser.pl <user_file>\n";
print "*** The format of each line in the user_file is:\n";
print "*** username:password:shell:home_dir:group\n";
exit;
}
# Open user data file
open(FHD, "$user_file") || die "$!\n";
my $newuser_file = "$user_file.new";
open(FHE, "> $newuser_file") || die "$!\n";
my $groupfile="/etc/group";
# Change the format
while(<FHD>) {
chomp;
my ($username, $password, $shell, $home, $group)=split(/:/);
chomp(my $groupid=`cat $groupfile | grep ^$group | cut -d ":" -f3`);
my $newline="$username\:$password\:\:$groupid\:\:$home\:$shell";
print FHE "$newline\n";
}
close(FHD);
close(FHE);
`newusers < $newuser_file`;
use strict;
my $user_file=$ARGV[0];
if (!$ARGV[0]) {
print "*** Usage: ./adduser.pl <user_file>\n";
print "*** The format of each line in the user_file is:\n";
print "*** username:password:shell:home_dir:group\n";
exit;
}
# Open user data file
open(FHD, "$user_file") || die "$!\n";
my $newuser_file = "$user_file.new";
open(FHE, "> $newuser_file") || die "$!\n";
my $groupfile="/etc/group";
# Change the format
while(<FHD>) {
chomp;
my ($username, $password, $shell, $home, $group)=split(/:/);
chomp(my $groupid=`cat $groupfile | grep ^$group | cut -d ":" -f3`);
my $newline="$username\:$password\:\:$groupid\:\:$home\:$shell";
print FHE "$newline\n";
}
close(FHD);
close(FHE);
`newusers < $newuser_file`;






