Compare commits
2 Commits
d60e2ac726
...
210c71ef9d
Author | SHA1 | Date | |
---|---|---|---|
|
210c71ef9d | ||
|
e0d7030f6f |
@ -19,13 +19,13 @@ sub create($){
|
||||
my $id = $_[0];
|
||||
|
||||
my $fn1 = $FULL_PATH.$id.".ident";
|
||||
my $fn2 = $FULL_PATH.$id.".pub";
|
||||
|
||||
my $username;
|
||||
my $shell_pref;
|
||||
my $user_email;
|
||||
my $pub_key;
|
||||
|
||||
open FILE, $fn1 or die "could not open file";
|
||||
open FILE, $fn1 or die "could not open file $fn1";
|
||||
$username = <FILE>;
|
||||
chomp $username;
|
||||
|
||||
@ -33,11 +33,14 @@ sub create($){
|
||||
chomp $user_email;
|
||||
|
||||
{
|
||||
my $shell_var = <FILE>;
|
||||
chomp $shell_var;
|
||||
$shell_pref = $SHELL_ENUM->{$shell_var};
|
||||
my $s0 = <FILE>;
|
||||
chomp $s0;
|
||||
$shell_pref = $SHELL_ENUM->{$s0};
|
||||
}
|
||||
|
||||
$pub_key = <FILE>;
|
||||
chomp $pub_key;
|
||||
|
||||
if(length($username) > 31 || !($username =~ /^[A-Za-z][A-Za-z0-9]+$/)){
|
||||
printf("%s has an INVALID username\n", $id);
|
||||
die ("oh no");
|
||||
@ -48,22 +51,21 @@ sub create($){
|
||||
$cmd = "useradd -m -s " . $shell_pref . " " . $username;
|
||||
printf("Y/N is this command OK?: %s\n", $cmd);
|
||||
|
||||
if(<STDIN> ne "Y\n"){
|
||||
if(!(<STDIN> =~ /^y/i)){
|
||||
die "invalid characters?!!";
|
||||
}
|
||||
|
||||
system($cmd);
|
||||
system("cat $FULL_PATH/$id.pub > /home/$username/.ssh/authorized_keys");
|
||||
system("echo '$pub_key' > /home/$username/.ssh/authorized_keys");
|
||||
system("chmod 711 /home/$username");
|
||||
system("rm $FULL_PATH/$id.ident");
|
||||
system("rm $FULL_PATH/$id.pub");
|
||||
system("mv $fn1 $fn1.done");
|
||||
system("echo $username >> user_list.txt");
|
||||
}
|
||||
close FILE;
|
||||
}
|
||||
|
||||
@g = glob("$FULL_PATH*");
|
||||
@g = map { s/.*\/([^\/]*).pub$/$1/; $_ } grep {$_ =~ /pub$/} @g;
|
||||
@g = map { s/.*\/([^\/]*).ident$/$1/; $_ } grep {$_ =~ /ident$/} @g;
|
||||
|
||||
for my $fn (@g){
|
||||
create($fn);
|
||||
|
Loading…
Reference in New Issue
Block a user