diff --git a/.gitignore b/.gitignore index 33bc05b..e42ecb7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ venv/* test/* *~ test_*.txt +*/p0.pl +*/p1.pl +*/p2.pl diff --git a/perl-script/create-user.pl b/perl-script/create-user.pl index 4795f24..7e019c9 100644 --- a/perl-script/create-user.pl +++ b/perl-script/create-user.pl @@ -8,8 +8,65 @@ my $ACCOUNT_DIR = "test/"; my $FULL_PATH = "$WORKING_DIR$ACCOUNT_DIR"; +my $SHELL_ENUM = { + "SHELL_BASH" => "/bin/bash", + "SHELL_KSH" => "/bin/ksh" +}; + my @g; +sub fun1($){ + my $id = $_[0]; + + my $fn1 = $FULL_PATH.$id.".ident"; + my $fn2 = $FULL_PATH.$id.".pub"; + + my $username; + # my $displayname; + # my $name_pref; + my $shell_pref; + my $user_email; + + open FILE, $fn1 or die "could not open file"; + $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); + 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); + } + close FILE; +} + +fun1("00000"); die "test 0";