Inital commit

This commit is contained in:
2020-06-25 10:22:52 +02:00
commit 11393c9613
11 changed files with 835 additions and 0 deletions

161
Tools/deluserutil Executable file
View File

@@ -0,0 +1,161 @@
#!/bin/bash
#Funtions
Help()
{
# Display Help
echo "Remove user from backupserver"
echo
echo "Syntax: deluserutil [-a|v|s|ts] <UserName>"
echo "options:"
echo "-h, --help Print this Help."
echo
echo "Define user type for user that shoud we removed"
echo "-a, --admin #Backup Admin"
echo "-v, --viewer #Backup Viewer "
echo "-s, --source #Backup Source (ex:a webserver)"
echo
echo "Set backup source options for new user"
echo "-ts, --sftp #Backup source will use sftp/rsync to upload files"
echo "-tf, --ftp #Backup source will use ftp to upload files"
echo
}
#Input Handeler
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-h | --help)
Help
exit
;;
-v | --viewer)
USERTYPE=viewer
shift
shift
;;
-a |--admin)
USERTYPE=admin
shift
;;
-s|--source)
USERTYPE=source
shift
;;
-tf|--ftp )
UPTYPE=FTP
shift
;;
-ts|--sftp )
UPTYPE=SFTP
shift
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
username="$1"
#Input Check
if [ -z "$username" ]
then
echo "Please provide a username"
echo "For more information type deluserutil -h"
echo
exit
fi
if [ "$username" = "root" ]; then
echo "Root is not allowed"
fi
getent passwd $username > /dev/null
if [ $? -eq 2 ]; then
echo "This username does not exists"
exit
fi
if [ -z "$USERTYPE" ]
then
echo "Please provide user type"
echo "For more information type deluserutil -h"
echo
exit
fi
if [ "$USERTYPE" = "source" ]; then
if [ -z "$UPTYPE" ]
then
echo "Please provide upload methode"
echo "For more information type deluserutil -h"
echo
exit
fi
fi
#Confirmation before setting user
echo "Removing the user with the following information"
echo "Username: $username"
echo "User type: $USERTYPE"
if [ "$USERTYPE" = "source" ]; then
echo "Upload methode $UPTYPE"
fi
while true; do
read -p "Do you wish to REMOVE $username? " yn
case $yn in
[Yy]* ) break;;
[Nn]* ) exit;;
* ) echo "Please answer yes or no.";;
esac
done
#Remove Admin user
if [ "$USERTYPE" = "admin" ]; then
userdel -rf $username
fi
#Remove Viewer user
if [ "$USERTYPE" = "viewer" ]; then
umount /vhome/$username/backup
sed -i "/\/$username\//d" /etc/fstab
userdel -f $username
rm -rf /vhome/$username
fi
#Remove sftp source user
if [ "$USERTYPE" = "source" ] && [ "$UPTYPE" = "SFTP" ]; then
while true; do
read -p "Do you wish to REMOVE the backups connected to this user? " yn
case $yn in
[Yy]* ) rm -rf /backups/sftp/"$username" && break;;
[Nn]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
userdel -f $username
fi
#Remove ftp source user
if [ "$USERTYPE" = "source" ] && [ "$UPTYPE" = "FTP" ]; then
while true; do
read -p "Do you wish to REMOVE the backups connected to this user? " yn
case $yn in
[Yy]* ) rm -rf /backups/ftp/"$username" && break;;
[Nn]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
sed -i "/\<$username\>/d" /etc/ftpusers
userdel -f $username
fi