Team Members:
Peter Marheine
Dan Williams

CS4471 Project 3

Our program makes validity checks and exits with a useful message to the user if they are unsuccessful.

First we get the user name of the user that is executing the command. We then get the home directory of suid user. After collecting this data we check that the given command is legal. Once we know thta the command is allowed we check the configuration file to make sure that it exists and is only writable by the suid user. If the file is set up correctly we look in the file to ensure that the user who ran the command is named. If these checks have finished we use exec to run the command.

our whitelist is
ls -m PATH
ls -s PATH
ls -m -s PATH
ls -s -m PATH
cat * FILE

where FILE and PATH are in the suid user's home directory and * is any argument.