diff --git a/perl-script/create-user.pl b/perl-script/create-user.pl index 7e019c9..02adb6c 100644 --- a/perl-script/create-user.pl +++ b/perl-script/create-user.pl @@ -9,7 +9,7 @@ my $ACCOUNT_DIR = "test/"; my $FULL_PATH = "$WORKING_DIR$ACCOUNT_DIR"; my $SHELL_ENUM = { - "SHELL_BASH" => "/bin/bash", + "SHELL_BASH" => "/usr/local/bin/bash", "SHELL_KSH" => "/bin/ksh" }; @@ -22,8 +22,6 @@ sub fun1($){ my $fn2 = $FULL_PATH.$id.".pub"; my $username; - # my $displayname; - # my $name_pref; my $shell_pref; my $user_email; @@ -31,42 +29,43 @@ sub fun1($){ $username = ; chomp $username; - # $displayname = ; - # chomp $displayname; - - # # Save this for later - # $name_pref = ; - # chomp $name_pref; - $user_email = ; chomp $user_email; { my $shell_var = ; chomp $shell_var; - # printf("\$shell_var: %s\n", $shell_var); $shell_pref = $SHELL_ENUM->{$shell_var}; } - printf("checking username %s\n", $username); + # printf("checking username %s\n", $username); if(length($username) > 31 || !($username =~ /^[A-Za-z][A-Za-z0-9]+$/)){ printf("%s has an INVALID username\n", $id); die ("oh no"); } - # if(length($displayname) > 31 || $displayname =~ /^[A-Za-z0-9]+$/){ - # printf("%s has an INVALID username\n", $id); - # } - { my $cmd; - $cmd = "useradd -m -s $shell_pref $username"; - printf("gonna run this command: %s\n", $cmd); + $cmd = "useradd -m -s " . $shell_pref . " " . $username; + printf("Y/N is this command OK?: %s\n", $cmd); + + if( ne "Y\n"){ + die "invalid characters?!!"; + } + + system($cmd); + #system("mkdir /home/$username/.ssh"); + system("chmod 700 /home/$username/.ssh"); + system("mv $FULL_PATH/$id.pub /home/$username/.ssh/authorized_keys"); + system("chmod 600 /home/$username/.ssh/authorized_keys"); + system("chown $username:$username /home/$username/.ssh"); + system("chown $username:$username /home/$username/.ssh/authorized_keys"); + system("rm $FULL_PATH/$id.ident"); } close FILE; } -fun1("00000"); +fun1("00004"); die "test 0";