v-generate-api-key 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/bin/bash
  2. # info: generate api key
  3. # options: NONE
  4. # labels: panel
  5. #
  6. # example: v-generate-api-key
  7. #
  8. # The function creates a key file in $HESTIA/data/keys/
  9. #----------------------------------------------------------#
  10. # Variable&Function #
  11. #----------------------------------------------------------#
  12. keygen() {
  13. < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
  14. }
  15. KEYS="$HESTIA/data/keys/"
  16. HASH=$(keygen)
  17. #----------------------------------------------------------#
  18. # Action #
  19. #----------------------------------------------------------#
  20. if [ ! -d ${KEYS} ]; then
  21. mkdir -p ${KEYS}
  22. chown admin:root ${KEYS}
  23. chmod 750 ${KEYS}
  24. fi
  25. if [[ -e ${KEYS}${HASH} ]] ; then
  26. while [[ -e ${KEYS}${HASH} ]] ; do
  27. HASH=$(keygen)
  28. done
  29. fi
  30. touch ${KEYS}${HASH}
  31. echo ${HASH}
  32. #----------------------------------------------------------#
  33. # Hestia #
  34. #----------------------------------------------------------#
  35. exit