summaryrefslogtreecommitdiff
path: root/deluser.local
blob: d74c2e146e6db202ac6a96d46b8781722694e57c (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.10 2002-03-28 15:46:58 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. #FIXME: Be more generic - support other mailinglists than mailman!
  28. listdir="/var/lib/mailman/lists"
  29. lists=""
  30. [ -d $listdir ] && \
  31. lists=`find $listdir -type d -mindepth 1 -maxdepth 1 -exec basename '{}' \;`
  32. for list in $lists; do
  33. if [ -d $listdir/$list -a -x /usr/sbin/remove_members ]; then
  34. /bin/echo $NEWUSERNAME@`/bin/dnsdomainname` \
  35. | /usr/sbin/remove_members -f - $list
  36. fi
  37. done
  38. # Check for dummy shared files if enabled in /etc/local/users.conf
  39. if [ -n "$DUMMYSHAREDDIR" ]; then
  40. if [ -d $DUMMYSHAREDDIR/$OLDUSERNAME -a -n "$OLDUSERNAME" ]; then
  41. echo -n "It seems this was a dummy user. Remove shared files (y/N)? "
  42. read remove_files
  43. case $remove_files in
  44. y|Y)
  45. rm -rf $DUMMYSHAREDDIR/$OLDUSERNAME
  46. ;;
  47. esac
  48. fi
  49. fi
  50. # Workaround: It seems deluser avoids symlinks when told to remove homedir
  51. if [ "$REMOVE_HOME" = "1" -a -d $OLDHOMEDIR ]; then
  52. echo "Removing $OLDHOMEDIR..."
  53. rm -rf $OLDHOMEDIR
  54. fi