Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # +-----------------------------------------------------------------------------------------+
- # | |
- # | |
- # | |
- # | |
- # | December 2011 flip hess [email protected] |
- # +-----------------------------------------------------------------------------------------+
- # Global variables:
- PATH='/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin'
- SCRIPT_PATH="${0}"
- ARGS="${#}"
- REPOSITORY='/home/flip/subversion'
- # Functions:
- # exit function
- function die()
- {
- echo "Error in ${SCRIPT_PATH}:\n${1}"
- echo "Escaping to bash-shell"
- /bin/bash
- }
- # Shows usage function.
- function fShowIntro()
- {
- echo -e "Subversion Configurator shell v1.1 by Flip Hess December 2011\n"
- echo -e " _____ _____ ____ _ _ "
- echo -e "| ____|__ / / ___| _ _| |____ _____ _ __ ___(_) ___ _ __ "
- echo -e "| _| / / \___ \| | | | '_ \ \ / / _ \ '__/ __| |/ _ \| '_ \ "
- echo -e "| |___ / /_ ___) | |_| | |_) \ V / __/ | \__ \ | (_) | | | |"
- echo -e "|_____/____| |____/ \__,_|_.__/ \_/ \___|_| |___/_|\___/|_| |_|"
- echo -e " "
- echo -e " ____ __ _ _ "
- echo -e " / ___|___ _ __ / _(_) __ _ _ _ _ __ __ _| |_ ___ _ __ "
- echo -e "| | / _ \| '_ \| |_| |/ _\` | | | | '__/ _\` | __/ _ \| '__| "
- echo -e "| |__| (_) | | | | _| | (_| | |_| | | | (_| | || (_) | | "
- echo -e " \____\___/|_| |_|_| |_|\__, |\__,_|_| \__,_|\__\___/|_| "
- echo -e " |___/ "
- echo "To create a new repository, type 1"
- echo "To delete a repository, type 2"
- echo "To change your ssh password, type 3"
- echo "To change your web password, type 4"
- echo "To add or change a web user, type 5"
- echo ""
- echo "To exit to a shell, type s"
- echo "To logoff and disconnect, type q"
- echo ""
- echo ""
- echo ""
- echo ""
- }
- # function create new repository
- function fCreate()
- {
- REPO=0
- while [ ${REPO} = 0 ]
- do
- # echo
- echo -e "Now creating a new repository in ${REPOSITORY}."
- echo -e "Current repositories are: $( ls ${REPOSITORY} | xargs echo )"
- echo ""
- read -p "Please enter the name of your new repository --> " NAME
- [ -n ${NAME} ] || { echo "No input! Please retry!"; continue; }
- if [ -d ${REPOSITORY}/${NAME} ] ; then
- { echo -e "The current repository allready exist! Please try again!" ; sleep 1; }
- else
- echo -e "Creating repository \"${NAME}\" in /home/subversion"
- { cd ${REPOSITORY} && svnadmin create ${NAME}; } || die "Failed to create repository!"
- sleep 1 ; read -p "Repository ${NAME} created. Do you want to create another one? [Y/n] --> " ANSWER
- if [ ${ANSWER} = 'n' ] || [ ${ANSWER} = 'N' ] || [ ${ANSWER} = 'No' ] || [ ${ANSWER} = 'NO' ] || [ ${ANSWER} = 'no' ] || [ ${ANSWER} = 'Nein' ] ; then
- REPO=1
- else
- REPO=0
- fi
- fi
- done
- echo "repository ${NAME} succesfully created in ${REPOSITORY}"
- return 0
- }
- # function to delete an existing
- function fDelete()
- {
- REPO=0
- while [ ${REPO} = 0 ]
- do
- # echo
- echo -e "Now deleting a repository in ${REPOSITORY}."
- echo -e "Current repositories are: $( ls ${REPOSITORY} | xargs echo )"
- echo ""
- read -p "Please enter the name of the repository you want to delete --> " NAME
- [ -n ${NAME} ] || { echo "No input! Please retry!"; continue; }
- if [ ! -d ${REPOSITORY}/${NAME} ] ; then
- { echo -e "The given repository doesnt exist! Please try again!" ; sleep 1; }
- else
- sleep 1 ; read -p "Are you REALY sure you want to delete repository: ${NAME} [N/y] --> " ANSWER
- if [ ${ANSWER} = 'y' ] || [ ${ANSWER} = 'Y' ] || [ ${ANSWER} = 'Yes' ] || [ ${ANSWER} = 'YES' ] || [ ${ANSWER} = 'yes' ] || [ ${ANSWER} = 'Jup' ]
- then
- REPO=1
- echo -e "Deleting repository \"${NAME}\" from /home/subversion"
- { cd ${REPOSITORY} && rm -rf ${NAME}; } || die "Failed to delete repository!"
- else
- echo "Canceled!" ; REPO=1
- fi
- fi
- done
- return 0
- }
- # change password function
- function fPass()
- {
- PASS=0
- while [ ${PASS} = 0 ]
- do
- # echo
- echo -e "Changing password for user $(whoami)"
- USER=$(whoami)
- passwd ${USER}
- if [ ${?} = 0 ] ; then
- echo "Password succesfully updated!"
- PASS=1
- else
- read -p "Something went wrong!, wanna try again? [Y/n] --> " ANSWER
- if [ ${ANSWER} = 'No' ] || [ ${ANSWER} = 'NO' ] || [ ${ANSWER} = 'no' ] || [ ${ANSWER} = 'nein' ] || [ ${ANSWER} = 'N' ] || [ ${ANSWER} = 'n' ] ; then
- echo "Password unchanged!"
- sleep 1
- PASS=1
- return 0
- else
- echo Retry!
- sleep 1
- fi
- fi
- done
- return 0
- }
- function fWebPass()
- {
- PASS=0
- while [ ${PASS} = 0 ]
- do
- # echo
- echo -e "Changing WEB password for user $(whoami)"
- USER=$(whoami)
- htpasswd /etc/apache2/pass/htpasswd.users ${USER}
- if [ ${?} = 0 ] ; then
- echo "Password succesfully updated!"
- PASS=1
- else
- read -p "Something went wrong!, wanna try again? [Y/n] --> " ANSWER
- if [ ${ANSWER} = 'No' ] || [ ${ANSWER} = 'NO' ] || [ ${ANSWER} = 'no' ] || [ ${ANSWER} = 'nein' ] || [ ${ANSWER} = 'N' ] || [ ${ANSWER} = 'n' ] ; then
- echo "Password unchanged!"
- sleep 1
- PASS=1
- return 0
- else
- echo Retry!
- sleep 1
- fi
- fi
- done
- return 0
- }
- function fAddUser()
- {
- PASS=0
- while [ ${PASS} = 0 ]
- do
- # echo
- echo -e "Adding Webuser or changing password of existing user......."
- read -p "Wat is de naam van de user? --> " USERT
- htpasswd /etc/apache2/pass/htpasswd.users ${USERT}
- if [ ${?} = 0 ] ; then
- echo "Password succesfully updated!"
- PASS=1
- else
- read -p "Something went wrong!, wanna try again? [Y/n] --> " ANSWER
- if [ ${ANSWER} = 'No' ] || [ ${ANSWER} = 'NO' ] || [ ${ANSWER} = 'no' ] || [ ${ANSWER} = 'nein' ] || [ ${ANSWER} = 'N' ] || [ ${ANSWER} = 'n' ] ; then
- echo "Password unchanged!"
- sleep 1
- PASS=1
- return 0
- else
- echo Retry!
- sleep 1
- fi
- fi
- done
- return 0
- }
- # The main function.
- function fMain()
- {
- # read input
- KEUZE=0
- while [ ${KEUZE} = 0 ]
- do
- read -p "Maak uw keuze --> " INPUT
- case "${INPUT}" in
- 1)
- KEUZE='1'
- fCreate
- ;;
- 2)
- KEUZE='2'
- fDelete
- ;;
- 3)
- KEUZE='3'
- fPass
- ;;
- 4)
- KEUZE='4'
- fWebPass
- ;;
- 5)
- KEUZE='5'
- fAddUser
- ;;
- s)
- KEUZE='s'
- { echo "To return to the menu type \"Exit\"" ; /bin/bash ; }
- ;;
- q)
- KEUZE='q'
- exit 0
- ;;
- *)
- { echo "Uw keuze wordt niet herkend. Probeert u het nog een keer!"; sleep 1;}
- KEUZE=0
- ;;
- esac
- done
- fReturn
- }
- # return functie
- function fReturn()
- {
- SET=0
- while [ ${SET} = 0 ] ;
- do
- echo "All done! Wanna exit this script or restart?"
- read -p "Restart or Exit? R/e --> " ANSWER
- if [ -z ${ANSWER} ] || [ ${ANSWER} = "" ] ; then
- { echo "Restarting script" ; SET=1 ; continue; }
- fi
- if [ ${ANSWER} = e ] ; then
- { echo "Exiting in 2 seconds" ; sleep 2 ; exit 1; }
- elif [ ${ANSWER} = E ] ; then
- { echo "Exiting in 2 seconds" ; sleep 2 ; exit 1; }
- elif [ ${ANSWER} = exit ] ; then
- { echo "Exiting in 2 seconds" ; sleep 2 ; exit 1; }
- elif [ ${ANSWER} = EXIT ] ; then
- { echo "Exiting in 2 seconds" ; sleep 2 ; exit 1; }
- elif [ ${ANSWER} = Exit ] ; then
- { echo "Exiting in 2 seconds" ; sleep 2 ; exit 1; }
- else
- echo "Restarting script"
- sleep 1
- SET=1
- fi
- done
- if [ ${SET} = 1 ] ; then
- fShowIntro
- fMain
- else
- exit 1
- fi
- return 0
- }
- # show intro
- fShowIntro
- # Start the program:
- fMain
- # Exit with previous return code:
- exit "${?}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement