summaryrefslogtreecommitdiff
path: root/deluser.local
blob: 0dc321b7d356b70d263731e87e2e63f2eba7c7c4 (plain)
  1. #!/bin/sh
  2. #
  3. # /usr/local/sbin/deluser.local
  4. # Copyright 2001-2002 Jonas Smedegaard <dr@jones.dk>
  5. #
  6. # $Id: deluser.local,v 1.9 2002-03-07 20:33:46 jonas Exp $
  7. #
  8. # Common deluser additions for Spiff and Xenux networks
  9. #
  10. OLDUSERNAME=$1
  11. OLDUID=$2
  12. OLDGID=$3
  13. OLDHOMEDIR=$4
  14. . /etc/adduser.conf
  15. #. /etc/deluser.conf
  16. # Workaround: default deluser.conf is not sh-compatible (like adduser.conf)
  17. REMOVE_HOME=`grep REMOVE_HOME /etc/deluser.conf | awk -F= '{print $2}' | head -1 | sed 's/^ //g'`
  18. # Ignore non-human accounts silently
  19. [ "$OLDUID" -ge "$FIRST_UID" -a "$OLDUID" -le "$LAST_UID" ] || exit 0
  20. [ -f /etc/local/users.conf ] && . /etc/local/users.conf
  21. # Samba password
  22. if [ -e /etc/samba/smbpasswd -a -x /usr/bin/smbpasswd ]; then
  23. /usr/bin/smbpasswd -x $OLDUSERNAME || true
  24. fi
  25. #TODO: Netatalk password
  26. # Mailinglists
  27. if [ -x /usr/sbin/remove_members ]; then
  28. if [ -d /var/lib/mailman/lists/users ]; then
  29. /bin/echo $OLDUSERNAME@`/bin/dnsdomainname` \
  30. | /usr/sbin/remove_members -f - users
  31. fi
  32. if [ -d /var/lib/mailman/lists/friends ]; then
  33. /bin/echo $OLDUSERNAME@`/bin/dnsdomainname` \
  34. | /usr/sbin/remove_members -f - friends
  35. fi
  36. fi
  37. # Check for dummy shared files if enabled in /etc/local/users.conf
  38. if [ -n "$DUMMYSHAREDDIR" ]; then
  39. if [ -d $DUMMYSHAREDDIR/$OLDUSERNAME -a -n "$OLDUSERNAME" ]; then
  40. echo -n "It seems this was a dummy user. Remove shared files (y/N)? "
  41. read remove_files
  42. case $remove_files in
  43. y|Y)
  44. rm -rf $DUMMYSHAREDDIR/$OLDUSERNAME
  45. ;;
  46. esac
  47. fi
  48. fi
  49. # Workaround: It seems deluser avoids symlinks when told to remove homedir
  50. if [ "$REMOVE_HOME" = "1" -a -d $OLDHOMEDIR ]; then
  51. echo "Removing $OLDHOMEDIR..."
  52. rm -rf $OLDHOMEDIR
  53. fi