v-change-user-password 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 definition
  10. user=$1
  11. password=$2; HIDE=2
  12. # Includes
  13. source $VESTA/func/main.sh
  14. source $VESTA/conf/vesta.conf
  15. #----------------------------------------------------------#
  16. # Verifications #
  17. #----------------------------------------------------------#
  18. check_args '2' "$#" 'USER PASSWORD'
  19. is_format_valid 'user'
  20. is_object_valid 'user' 'USER' "$user"
  21. is_object_unsuspended 'user' 'USER' "$user"
  22. is_password_valid
  23. #----------------------------------------------------------#
  24. # Action #
  25. #----------------------------------------------------------#
  26. # Changing user password
  27. echo "$user:$password" | /usr/sbin/chpasswd
  28. md5=$(awk -v user=$user -F : 'user == $1 {print $2}' /etc/shadow)
  29. #----------------------------------------------------------#
  30. # Vesta #
  31. #----------------------------------------------------------#
  32. # Changing RKEY value
  33. update_user_value "$user" '$RKEY' "$(generate_password)"
  34. update_user_value "$user" '$MD5' "$md5"
  35. # Logging
  36. log_history "changed password"
  37. log_event "$OK" "$ARGUMENTS"
  38. exit