v_change_sys_user_ns 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #!/bin/bash
  2. # info: changing user nameservers
  3. #----------------------------------------------------------#
  4. # Variable&Function #
  5. #----------------------------------------------------------#
  6. # Argument defenition
  7. user=$1
  8. ns1=$2
  9. ns2=$3
  10. ns3=$4
  11. ns4=$5
  12. ns5=$6
  13. ns6=$7
  14. ns7=$8
  15. ns8=$9
  16. # Importing variables
  17. source $VESTA/conf/vars.conf
  18. source $V_CONF/vesta.conf
  19. source $V_FUNC/shared.func
  20. #----------------------------------------------------------#
  21. # Verifications #
  22. #----------------------------------------------------------#
  23. # Checking args
  24. check_args '3' "$#" 'user ns1 ns2 [ns3] [ns4] [ns5] [ns6] [ns7] [ns8]'
  25. # Checking argument format
  26. format_validation 'user' 'ns1' 'ns2'
  27. if [ ! -z "$ns3" ]; then
  28. format_validation 'ns3'
  29. fi
  30. if [ ! -z "$ns4" ]; then
  31. format_validation 'ns4'
  32. fi
  33. if [ ! -z "$ns5" ]; then
  34. format_validation 'ns5'
  35. fi
  36. if [ ! -z "$ns6" ]; then
  37. format_validation 'ns6'
  38. fi
  39. if [ ! -z "$ns7" ]; then
  40. format_validation 'ns7'
  41. fi
  42. if [ ! -z "$ns8" ]; then
  43. format_validation 'ns8'
  44. fi
  45. # Checking user
  46. is_user_valid
  47. # Checking user is active
  48. is_user_suspended
  49. #----------------------------------------------------------#
  50. # Action #
  51. #----------------------------------------------------------#
  52. # Get old values
  53. old_ns=$(get_user_value '$NS')
  54. # Merging values
  55. ns="$ns1,$ns2,$ns3,$ns4,$ns5,$ns6,$ns7,$ns8"
  56. ns=$(echo "$ns"|sed -e "s/,,//g" -e "s/,$//")
  57. # Changing ns values
  58. update_user_value "$user" '$NS' "$ns"
  59. #----------------------------------------------------------#
  60. # Vesta #
  61. #----------------------------------------------------------#
  62. # Logging
  63. log_history "$V_EVENT" "$V_SCRIPT $user ${old_ns//,/ }"
  64. log_event 'system' "$V_EVENT"
  65. exit