my %cmd=( "-p" => { "COMMAND" => { "linux" => "/usr/local/bin/setpass.expect $USERNAME $NEWPASS", "aix" => "" }, "ACTION" => "Password Changed", "CHECKMODES" => \&checkparms($MODE), "ERRORS" => { "$OS:256" => "$USERNAME Does not exist" } }, "-d" => { "COMMAND" => { "linux" => "/usr/sbin/userdel -r $USERNAME", "aix" => "" }, "ACTION" => "Deleted", "CHECKMODES" => \&checkparms, "ERRORS" => { "$OS:1536" => "$USERNAME Does not exist" } }, "-a" => { "COMMAND" => { "linux" => "/usr/sbin/useradd $USERNAME && /usr/local/bin/setpass.expect $USERNAME $NEWPASS", "aix" => "" }, "ACTION" => "Added", "CHECKMODES" => \&checkparms, "ERRORS" => { "$OS:2304" => "$USERNAME exists" } }, "-ha" => { "COMMAND" => { "linux" => "/usr/bin/htpasswd -bd $APACHECONF $USERNAME $NEWPASS", "aix" => "" }, "ACTION" => "Added", "CHECKMODES" => \&checkparms }, "-hd" => { "COMMAND" => { "linux" => "/usr/bin/htpasswd -D $APACHECONF $USERNAME", "aix" => "" }, "ACTION" => "Deleted", "CHECKMODES" => \&checkparms } ); #### ############## sub checkparms ############## { push (@THINGS, "Username") if ( $USERNAME eq "UNDEFINED" ); push (@THINGS, "Password") if ( $NEWPASS eq "UNDEFINED" and $MODE eq "-a" or $MODE eq "-p" or $MODE eq "-ha"); push (@THINGS, "httpd.conf") if ( $MODE eq "-ha" or $MODE eq "-hd" and $APACHECONF eq "UNDEFINED" ); my $return_val = ( scalar(@THINGS) == 0 ) ? "0" : "1"; return $return_val; }