123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- #!/bin/bash
- remove_ovp () {
- if [[ -e /etc/debian_version ]]; then
- GROUPNAME=nogroup
- fi
- user="$1"
- cd /etc/openvpn/easy-rsa/
- ./easyrsa --batch revoke $user
- ./easyrsa gen-crl
- rm -rf pki/reqs/$user.req
- rm -rf pki/private/$user.key
- rm -rf pki/issued/$user.crt
- rm -rf /etc/openvpn/crl.pem
- cp /etc/openvpn/easy-rsa/pki/crl.pem /etc/openvpn/crl.pem
- chown nobody:$GROUPNAME /etc/openvpn/crl.pem
- [[ -e $HOME/$user.ovpn ]] && rm $HOME/$user.ovpn > /dev/null 2>&1
- [[ -e /var/www/html/openvpn/$user.zip ]] && rm /var/www/html/openvpn/$user.zip > /dev/null 2>&1
- } > /dev/null 2>&1
- [[ ! -e /usr/lib/sshplus ]] && rm -rf /bin/ > /dev/null 2>&1
- database="/root/usuarios.db"
- clear
- tput setaf 7 ; tput setab 4 ; tput bold ; printf '%32s%s%-13s\n' "Remove SSH User" ; tput sgr0
- echo ""
- echo -e "\033[1;31m[\033[1;36m1\033[1;31m]\033[1;33m REMOVE A USER"
- echo -e "\033[1;31m[\033[1;36m2\033[1;31m]\033[1;33m REMOVE ALL USERS"
- echo -e "\033[1;31m[\033[1;36m3\033[1;31m]\033[1;33m COME BACK "
- echo ""
- read -p "$(echo -e "\033[1;32mWHAT DO YOU WANT TO DO\033[1;31m ?\033[1;37m : ")" -e -i 1 resp
- if [[ "$resp" = "1" ]]; then
- clear
- tput setaf 7 ; tput setab 4 ; tput bold ; printf '%32s%s%-13s\n' "Remove SSH User" ; tput sgr0
- echo ""
- echo -e "\033[1;33mLIST OF USERS: \033[0m"
- echo""
- _userT=$(awk -F: '$3>=1000 {print $1}' /etc/passwd | grep -v nobody)
- i=0
- unset _userPass
- while read _user; do
- i=$(expr $i + 1)
- _oP=$i
- [[ $i == [1-9] ]] && i=0$i && oP+=" 0$i"
- echo -e "\033[1;31m[\033[1;36m$i\033[1;31m] \033[1;37m- \033[1;32m$_user\033[0m"
- _userPass+="\n${_oP}:${_user}"
- done <<< "${_userT}"
- echo ""
- num_user=$(awk -F: '$3>=1000 {print $1}' /etc/passwd | grep -v nobody | wc -l)
- echo -ne "\033[1;32mType or select a user \033[1;33m[\033[1;36m1\033[1;31m-\033[1;36m$num_user\033[1;33m]\033[1;37m: " ; read option
- user=$(echo -e "${_userPass}" | grep -E "\b$option\b" | cut -d: -f2)
- if [[ -z $option ]]; then
- tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo " Empty or invalid user! " ; echo "" ; tput sgr0
- exit 1
- elif [[ -z $user ]]; then
- tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo " Empty or invalid user! " ; echo "" ; tput sgr0
- exit 1
- else
- if cat /etc/passwd |grep -w $user > /dev/null; then
- echo ""
- pkill -f "$user" > /dev/null 2>&1
- deluser --force $user > /dev/null 2>&1
- echo -e "\E[41;1;37m User $user successfully removed! \E[0m"
- grep -v ^$user[[:space:]] /root/usuarios.db > /tmp/ph ; cat /tmp/ph > /root/usuarios.db
- rm /etc/SSHPlus/senha/$user 1>/dev/null 2>/dev/null
- if [[ -e /etc/openvpn/server.conf ]]; then
- remove_ovp $user
- fi
- exit 1
- elif [[ "$(cat "$database"| grep -w $user| wc -l)" -ne "0" ]]; then
- ps x | grep $user | grep -v grep | grep -v pt > /tmp/rem
- if [[ `grep -c $user /tmp/rem` -eq 0 ]]; then
- deluser --force $user > /dev/null 2>&1
- echo ""
- echo -e "\E[41;1;37m User $user successfully removed! \E[0m"
- grep -v ^$user[[:space:]] /root/usuarios.db > /tmp/ph ; cat /tmp/ph > /root/usuarios.db
- rm /etc/SSHPlus/senha/$user 1>/dev/null 2>/dev/null
- if [[ -e /etc/openvpn/server.conf ]]; then
- remove_ovp $user
- fi
- exit 1
- else
- echo ""
- tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "User logged in. Disconnecting ..." ; tput sgr0
- pkill -f "$user" > /dev/null 2>&1
- deluser --force $user > /dev/null 2>&1
- echo -e "\E[41;1;37m User $usersuccessfully removed! \E[0m"
- grep -v ^$user[[:space:]] /root/usuarios.db > /tmp/ph ; cat /tmp/ph > /root/usuarios.db
- rm /etc/SSHPlus/senha/$user 1>/dev/null 2>/dev/null
- if [[ -e /etc/openvpn/server.conf ]]; then
- remove_ovp $user
- fi
- exit 1
- fi
- else
- tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "User $user does not exist!" ; echo "" ; tput sgr0
- fi
- fi
- elif [[ "$resp" = "2" ]]; then
- clear
- tput setaf 7 ; tput setab 4 ; tput bold ; printf '%32s%s%-13s\n' "SRemove SSH User" ; tput sgr0
- echo ""
- echo -ne "\033[1;33mREALLY WISH TO REMOVE ALL USERS \033[1;37m[s/n]: "; read opc
- if [[ "$opc" = "s" ]]; then
- echo -e "\n\033[1;33mAguarde\033[1;32m.\033[1;31m.\033[1;33m.\033[0m"
- for user in $(cat /etc/passwd |awk -F : '$3 > 900 {print $1}' |grep -vi "nobody"); do
- pkill -f $user > /dev/null 2>&1
- deluser --force $user > /dev/null 2>&1
- if [[ -e /etc/openvpn/server.conf ]]; then
- remove_ovp $user
- fi
- done
- rm $HOME/usuarios.db && touch $HOME/usuarios.db
- rm *.zip > /dev/null 2>&1
- echo -e "\n\033[1;32mSUCCESSFULLY REMOVED USERS!\033[0m"
- sleep 2
- menu
- else
- echo -e "\n\033[1;31mReturning to the menu ...\033[0m"
- sleep 2
- menu
- fi
- elif [[ "$resp" = "3" ]]; then
- menu
- else
- echo -e "\n\033[1;31mOption invalid!\033[0m"
- sleep 1.5s
- menu
- fi
|