You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

postrm 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/bin/sh
  2. # postrm script for rspamd
  3. set -e
  4. case "$1" in
  5. purge|remove|abort-install|disappear)
  6. # find first and last SYSTEM_UID numbers
  7. for LINE in `grep SYSTEM_UID /etc/adduser.conf | grep -v "^#"`
  8. do
  9. case $LINE in
  10. FIRST_SYSTEM_UID*)
  11. FIRST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
  12. ;;
  13. LAST_SYSTEM_UID*)
  14. LAST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
  15. ;;
  16. *)
  17. ;;
  18. esac
  19. done
  20. # Remove system account if necessary
  21. CREATEDUSER="rspamd"
  22. if [ -n "$FIRST_SYSTEM_UID" ] && [ -n "$LAST_SYSTEM_UID" ]
  23. then
  24. if USERID=`getent passwd $CREATEDUSER | cut -f 3 -d ':'`
  25. then
  26. if [ -n "$USERID" ]
  27. then
  28. if [ "$FIRST_SYSTEM_UID" -le "$USERID" ] && [ "$USERID" -le "$LAST_SYSTEM_UID" ]
  29. then
  30. echo -n "Removing $CREATEDUSER system user.."
  31. deluser --quiet $CREATEDUSER || true
  32. echo "..done"
  33. fi
  34. fi
  35. fi
  36. fi
  37. # Remove system group if necessary
  38. CREATEDGROUP="rspamd"
  39. FIRST_USER_GID=`grep ^USERS_GID /etc/adduser.conf | cut -f2 -d '='`
  40. if [ -n "$FIRST_USER_GID" ]
  41. then
  42. if GROUPGID=`getent group $CREATEDGROUP | cut -f 3 -d ':'`
  43. then
  44. if [ -n "$GROUPGID" ]
  45. then
  46. if [ "$FIRST_USER_GID" -gt "$GROUPGID" ]
  47. then
  48. echo -n "Removing $CREATEDGROUP group.."
  49. delgroup --only-if-empty $CREATEDGROUP || true
  50. echo "..done"
  51. fi
  52. fi
  53. fi
  54. fi
  55. ;;
  56. upgrade|failed-upgrade|abort-upgrade)
  57. ;;
  58. *)
  59. echo "postrm called with unknown argument \`$1'" >&2
  60. exit 1
  61. ;;
  62. esac
  63. exit 0