lib_redis.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/usr/bin/env bash
  2. # -*- coding: utf-8; mode: sh indent-tabs-mode: nil -*-
  3. # SPDX-License-Identifier: AGPL-3.0-or-later
  4. # shellcheck disable=SC2091
  5. # shellcheck source=utils/lib.sh
  6. . /dev/null
  7. REDIS_USER="searxng-redis"
  8. REDIS_GROUP="searxng-redis"
  9. REDIS_SERVICE_NAME="searxng-redis"
  10. REDIS_SYSTEMD_UNIT="${SYSTEMD_UNITS}/${REDIS_SERVICE_NAME}.service"
  11. redis.help(){
  12. cat <<EOF
  13. redis.:
  14. remove : delete user (${REDIS_USER}) and remove service (${REDIS_SERVICE_NAME})
  15. userdel : delete user (${REDIS_USER})
  16. rmgrp : remove <user> from group (${REDIS_USER})
  17. EOF
  18. }
  19. redis.remove() {
  20. sudo_or_exit
  21. (
  22. set -e
  23. redis._remove_service
  24. redis.userdel
  25. )
  26. dump_return $?
  27. }
  28. redis.shell() {
  29. interactive_shell "${REDIS_USER}"
  30. }
  31. redis.userdel() {
  32. sudo_or_exit
  33. drop_service_account "${REDIS_USER}"
  34. groupdel "${REDIS_GROUP}" 2>&1 | prefix_stdout || true
  35. }
  36. redis.addgrp() {
  37. # usage: redis.addgrp <user>
  38. [[ -z $1 ]] && die_caller 42 "missing argument <user>"
  39. sudo -H gpasswd -a "$1" "${REDIS_GROUP}"
  40. }
  41. redis.rmgrp() {
  42. # usage: redis.rmgrp <user>
  43. [[ -z $1 ]] && die_caller 42 "missing argument <user>"
  44. sudo -H gpasswd -d "$1" "${REDIS_GROUP}"
  45. }
  46. redis._remove_service() {
  47. systemd_remove_service "${REDIS_SERVICE_NAME}" "${REDIS_SYSTEMD_UNIT}"
  48. }