v-change-user-ns 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/bin/bash
  2. # info: change user nameservers
  3. # options: user ns1 ns2 [ns3] [ns4]
  4. #
  5. # The function for changing default nameservers for speciefic user.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument defenition
  10. user=$1
  11. ns1=$(echo $2 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  12. ns2=$(echo $3 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  13. ns3=$4
  14. ns4=$5
  15. # Includes
  16. source $VESTA/conf/vesta.conf
  17. source $VESTA/func/main.sh
  18. #----------------------------------------------------------#
  19. # Verifications #
  20. #----------------------------------------------------------#
  21. # Checking args
  22. check_args '3' "$#" 'user ns1 ns2 [ns3] [ns4]'
  23. # Checking argument format
  24. validate_format 'user' 'ns1' 'ns2'
  25. if [ ! -z "$ns3" ]; then
  26. ns3=$(echo $4 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  27. validate_format 'ns3'
  28. fi
  29. if [ ! -z "$ns4" ]; then
  30. ns4=$(echo $5 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  31. validate_format 'ns4'
  32. fi
  33. is_object_valid 'user' 'USER' "$user"
  34. is_object_unsuspended 'user' 'USER' "$user"
  35. #----------------------------------------------------------#
  36. # Action #
  37. #----------------------------------------------------------#
  38. # Merging values
  39. ns="$ns1,$ns2,$ns3,$ns4"
  40. ns=$(echo "$ns"|sed -e "s/,,//g" -e "s/,$//")
  41. # Changing ns values
  42. update_user_value "$user" '$NS' "$ns"
  43. #----------------------------------------------------------#
  44. # Vesta #
  45. #----------------------------------------------------------#
  46. # Logging
  47. log_history "changed user nameservers to $ns1, $ns2"
  48. log_event "$OK" "$EVENT"
  49. exit