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