v_change_user_password 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/bin/bash
  2. # info: change user password
  3. # options: user password
  4. #
  5. # The function changes user's password and updates RKEY value.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument defenition
  10. user=$1
  11. password=$2
  12. # Includes
  13. source $VESTA/conf/vesta.conf
  14. source $VESTA/func/main.sh
  15. # Hiding password
  16. A2='******'
  17. #----------------------------------------------------------#
  18. # Verifications #
  19. #----------------------------------------------------------#
  20. check_args '2' "$#" 'user password'
  21. validate_format 'user' 'password'
  22. is_object_valid 'user' 'USER' "$user"
  23. is_object_unsuspended 'user' 'USER' "$user"
  24. #----------------------------------------------------------#
  25. # Action #
  26. #----------------------------------------------------------#
  27. # Changing user password
  28. echo "$password" | /usr/bin/passwd "$user" --stdin &>/dev/null
  29. md5=$(awk -v user=$user -F : 'user == $1 {print $2}' /etc/shadow)
  30. #----------------------------------------------------------#
  31. # Vesta #
  32. #----------------------------------------------------------#
  33. # Changing RKEY value
  34. update_user_value "$user" '$RKEY' "$(gen_password)"
  35. update_user_value "$user" '$MD5' "$md5"
  36. # Logging
  37. log_event "$OK" "$EVENT"
  38. exit