v-change-user-ns 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #!/bin/bash
  2. # info: change user nameservers
  3. # options: USER NS1 NS2 [NS3] [NS4] [NS5] [NS6] [NS7] [NS8]
  4. #
  5. # The function for changing default nameservers for specific user.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  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=$(echo $4 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  14. ns4=$(echo $5 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  15. ns5=$(echo $6 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  16. ns6=$(echo $7 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  17. ns7=$(echo $8 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  18. ns8=$(echo $9 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  19. # Includes
  20. source $VESTA/func/main.sh
  21. source $VESTA/conf/vesta.conf
  22. #----------------------------------------------------------#
  23. # Verifications #
  24. #----------------------------------------------------------#
  25. # Checking args
  26. check_args '3' "$#" 'USER NS1 NS2 [NS3] [NS4] [NS5] [NS6] [NS7] [NS8]'
  27. # Checking argument format
  28. is_format_valid 'user' 'ns1' 'ns2'
  29. if [ ! -z "$ns3" ]; then
  30. ns3=$(echo $4 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  31. is_format_valid 'ns3'
  32. fi
  33. if [ ! -z "$ns4" ]; then
  34. ns4=$(echo $5 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  35. is_format_valid 'ns4'
  36. fi
  37. if [ ! -z "$ns5" ]; then
  38. ns5=$(echo $6 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  39. is_format_valid 'ns5'
  40. fi
  41. if [ ! -z "$ns6" ]; then
  42. ns6=$(echo $7 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  43. is_format_valid 'ns6'
  44. fi
  45. if [ ! -z "$ns7" ]; then
  46. ns7=$(echo $8 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  47. is_format_valid 'ns7'
  48. fi
  49. if [ ! -z "$ns8" ]; then
  50. ns8=$(echo $9 | sed -e 's/\.*$//g' -e 's/^\.*//g')
  51. is_format_valid 'ns8'
  52. fi
  53. is_object_valid 'user' 'USER' "$user"
  54. is_object_unsuspended 'user' 'USER' "$user"
  55. #----------------------------------------------------------#
  56. # Action #
  57. #----------------------------------------------------------#
  58. # Merging values
  59. ns="$ns1,$ns2,$ns3,$ns4,$ns5,$ns6,$ns7,$ns8"
  60. ns=$(echo "$ns" | sed -e "s/,,//g" -e "s/,$//")
  61. # Changing ns values
  62. update_user_value "$user" '$NS' "$ns"
  63. #----------------------------------------------------------#
  64. # Vesta #
  65. #----------------------------------------------------------#
  66. # Logging
  67. log_history "updated nameservers $ns1 $ns2 $ns3 $ns4 $ns5 $ns6 $ns7 $ns8"
  68. log_event "$OK" "$ARGUMENTS"
  69. exit