v-delete-user-sftp-jail 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/bash
  2. # info: delete user sftp jail
  3. # options: USER
  4. #
  5. # The script disables sftp jailed environment for USER
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. user=$1
  11. # Includes
  12. source $VESTA/func/main.sh
  13. source $VESTA/conf/vesta.conf
  14. #----------------------------------------------------------#
  15. # Verifications #
  16. #----------------------------------------------------------#
  17. check_args '1' "$#" 'USER'
  18. is_format_valid 'user'
  19. user_str=$(grep "^$user:" /etc/passwd)
  20. if [ -z "$user_str" ]; then
  21. exit
  22. fi
  23. #----------------------------------------------------------#
  24. # Action #
  25. #----------------------------------------------------------#
  26. # Defining user homedir
  27. home="$(echo $user_str |cut -f 6 -d :)"
  28. # Unmounting home directory
  29. mount_dir=$(mount |grep /chroot/$user/ |awk '{print $3}')
  30. if [ ! -z "$mount_dir" ]; then
  31. umount -f $mount_dir 2>/dev/null
  32. if [ $? -ne 0 ]; then
  33. gpasswd -d $user sftp-only >/dev/null 2>&1
  34. exit 1
  35. fi
  36. fi
  37. # Deleting chroot dir
  38. rmdir $mount_dir 2>/dev/null
  39. rm -rf /chroot/$user
  40. # Deleting user from sftp group
  41. gpasswd -d $user sftp-only >/dev/null 2>&1
  42. #----------------------------------------------------------#
  43. # Vesta #
  44. #----------------------------------------------------------#
  45. # Logging
  46. #log_event "$OK" "$ARGUMENTS"
  47. exit