SYS 320 Week3 Lab - JadenGil/Jaden-Tech-Journal GitHub Wiki
Updated Manage-User.bash
#!/bin/bash
# Storyline: Script to add and delete VPN peers
while getopts 'hdau:' OPTION ; do
`case "$OPTION" in`
`d) u_del=${OPTION}`
`;;`
`a) u_add=${OPTION}`
`;;`
`u) t_user=${OPTARG}`
`;;`
`h) u_che`
`echo ""`
`echo "Usage: $(basename ) [-a][-d][-h] -u username"`
`echo ""`
`exit 1`
`;;`
`*)`
`echo "invalid value"`
`exit 1`
`;;`
`esac`
done
# Check to see if the -a and -d are empty or if they are both specified to throw error
if [ (${u_del} == "" && ${u_add} == "") ](/JadenGil/Jaden-Tech-Journal/wiki/|-(${u_del}-!=-""-&&-${u_add}-!=-"")-)
then
`echo "Please specify -a or -d and the -u and username."`
fi
# Check to ensure -u is specified
if [ (${u_del} != "" ](/JadenGil/Jaden-Tech-Journal/wiki/|--${u_add}-!=-"")-&&-${t_user}-==-""--)
then
`echo "Please specify a user (-u)!"`
`echo "Usage: $(basename ) [-a][-d] -u username"`
`exit 1`
fi
# Delete a user
if [ ${u_del} ](/JadenGil/Jaden-Tech-Journal/wiki/-${u_del}-)
then
`echo "Deleting user.."`
`sed -i "/# ${t_user} begin/,/# ${t_user} end/d" wg0.conf`
fi
# add a user
if [ ${u_add} ](/JadenGil/Jaden-Tech-Journal/wiki/-${u_add}-)
then
`echo "Create the User..."`
`bash peer.bash ${t_user}`
fi
# Check if user exists
if [ ${u_check} ](/JadenGil/Jaden-Tech-Journal/wiki/-${u_check}-)
then
result=$(cat wg0.conf | grep ${t_user})
if [ ${result} != "" ](/JadenGil/Jaden-Tech-Journal/wiki/-${result}-!=-""-)
then
echo "The user ${t_user} exists."
else
echo "The user ${t_user} does not exist."
fi
fi
menu.bash
#!/bin/bash
# Storyline: Menu for AD, VPN, and Sec functions
function invalid_opt() {
echo ""
echo "Invalid Option"
echo ""
sleep 2
}
function menu() {
`# clears the screen`
`clear`
`echo "[1] Admin Menu"`
`echo "[2] Security Menu"`
`echo "[3] Exit"`
`read -p "Please enter a choice above: " choice`
`case "$choice" in`
`1) admin_menu`
`;;`
`2) security_menu`
`;;`
`3) exit 0`
`;;`
`*)`
`invalid_opt`
`# Call the Menu`
`menu`
`;;`
`esac`
}
function admin_menu() {
`clear`
`echo "[L]ist Running Processes"`
`echo "[N]etwork Sockets"`
`echo "[V]PN Menu"`
`echo "[4] Exit"`
`read -p "Please enter a choice above: " choice`
`case "$choice" in`
`L|l) ps -ef |less`
`;;`
`N|n) netstat -an --inet |less`
`;;`
`V|v) vpn_menu |less`
`;;`
`4) exit 0`
`;;`
`*)`
`invalid_opt`
`;;`
`esac`
admin_menu
}
function vpn_menu() {
`clear`
`echo "[A]dd a peer"`
`echo "[D]elete a peer"`
`echo "[B]ack to admin menu"`
`echo "[M]ain Menu"`
`echo "[E]xit"`
`read -p "Please enter a choice above: " choice`
`case "$choice" in`
`A|a) `
`bash peer.bash`
`tail -6 wg0.conf |less`
`;;`
`D|d) `
`# Create a prompt for the user `
`# Call the manage-user.bash and pass the proper switches and arguments`
`# to delete the user`
`;;`
`B|b) admin_menu`
`;;`
`M|m) menu`
`;;`
`E|e) exit 0`
`;;`
`*)`
`invalid_opt`
`;;`
`esac`
vpn_menu
}
# Call the Menu
menu