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 defenition
  10. ip=$1
  11. user=$2
  12. # Includes
  13. source $VESTA/func/main.sh
  14. source $VESTA/func/ip.sh
  15. #----------------------------------------------------------#
  16. # Verifications #
  17. #----------------------------------------------------------#
  18. check_args '2' "$#" 'ip user'
  19. validate_format 'ip' 'user'
  20. is_object_valid 'user' 'USER' "$user"
  21. is_object_unsuspended 'user' 'USER' "$user"
  22. is_ip_valid
  23. is_ip_key_empty '$U_WEB_DOMAINS'
  24. is_ip_key_empty '$U_SYS_USERS'
  25. #----------------------------------------------------------#
  26. # Action #
  27. #----------------------------------------------------------#
  28. # Changing ip owner
  29. ip_owner=$(get_ip_value '$OWNER')
  30. if [ "$ip_owner" != "$user" ]; then
  31. ip_status="$(get_ip_value '$STATUS')"
  32. update_ip_value '$OWNER' "$user"
  33. decrease_user_value "$ip_owner" '$IP_OWNED'
  34. if [ "$ip_owner" = 'admin' ]; then
  35. if [ "$ip_status" = 'shared' ]; then
  36. for vesta_user in $(ls $VESTA/data/users); do
  37. decrease_user_value "$vesta_user" '$IP_AVAIL'
  38. done
  39. else
  40. decrease_user_value 'admin' '$IP_AVAIL'
  41. fi
  42. else
  43. decrease_user_value "$ip_owner" '$IP_AVAIL'
  44. decrease_user_value 'admin' '$IP_AVAIL'
  45. fi
  46. increase_user_value "$user" '$IP_OWNED'
  47. if [ "$user" = 'admin' ]; then
  48. if [ "$ip_status" = 'shared' ]; then
  49. for user in $(ls $VESTA/data/users); do
  50. increase_user_value "$user" '$IP_AVAIL'
  51. done
  52. else
  53. increase_user_value 'admin' '$IP_AVAIL'
  54. fi
  55. else
  56. increase_user_value "$user" '$IP_AVAIL'
  57. increase_user_value 'admin' '$IP_AVAIL'
  58. fi
  59. fi
  60. #----------------------------------------------------------#
  61. # Vesta #
  62. #----------------------------------------------------------#
  63. # Logging
  64. log_history "changed owner of $ip to $user" '' 'admin'
  65. log_event "$OK" "$EVENT"
  66. exit