v-change-sys-ip-owner 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #!/bin/bash
  2. # info: change ip owner
  3. # options: IP USER
  4. #
  5. # The function of changing ip address ownership.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. ip=$1
  11. user=$2
  12. # Includes
  13. source $VESTA/func/ip.sh
  14. source $VESTA/func/main.sh
  15. source $VESTA/conf/vesta.conf
  16. #----------------------------------------------------------#
  17. # Verifications #
  18. #----------------------------------------------------------#
  19. check_args '2' "$#" 'IP USER'
  20. is_format_valid 'ip' 'user'
  21. is_object_valid 'user' 'USER' "$user"
  22. is_object_unsuspended 'user' 'USER' "$user"
  23. is_ip_valid "$ip"
  24. is_ip_key_empty '$U_WEB_DOMAINS'
  25. is_ip_key_empty '$U_SYS_USERS'
  26. #----------------------------------------------------------#
  27. # Action #
  28. #----------------------------------------------------------#
  29. # Changing ip owner
  30. ip_owner=$(get_ip_value '$OWNER')
  31. if [ "$ip_owner" != "$user" ]; then
  32. ip_status="$(get_ip_value '$STATUS')"
  33. update_ip_value '$OWNER' "$user"
  34. decrease_user_value "$ip_owner" '$IP_OWNED'
  35. if [ "$ip_owner" = 'admin' ]; then
  36. if [ "$ip_status" = 'shared' ]; then
  37. for vesta_user in $(ls $VESTA/data/users); do
  38. decrease_user_value "$vesta_user" '$IP_AVAIL'
  39. done
  40. else
  41. decrease_user_value 'admin' '$IP_AVAIL'
  42. fi
  43. else
  44. decrease_user_value "$ip_owner" '$IP_AVAIL'
  45. decrease_user_value 'admin' '$IP_AVAIL'
  46. fi
  47. increase_user_value "$user" '$IP_OWNED'
  48. if [ "$user" = 'admin' ]; then
  49. if [ "$ip_status" = 'shared' ]; then
  50. for user in $(ls $VESTA/data/users); do
  51. increase_user_value "$user" '$IP_AVAIL'
  52. done
  53. else
  54. increase_user_value 'admin' '$IP_AVAIL'
  55. fi
  56. else
  57. increase_user_value "$user" '$IP_AVAIL'
  58. increase_user_value 'admin' '$IP_AVAIL'
  59. fi
  60. fi
  61. #----------------------------------------------------------#
  62. # Vesta #
  63. #----------------------------------------------------------#
  64. # Logging
  65. log_history "changed owner of $ip to $user" '' 'admin'
  66. log_event "$OK" "$ARGUMENTS"
  67. exit