#!/bin/sh QHOME="/var/qmail" # Check for su if test $UID != 0 ; then echo "Error: Must be root" exit 1 fi # Check for omitted parameters. if test -z "$1"; then IAM=`basename $0` echo "Usage: $IAM domain.com" exit 1 fi # Check if this domain actually exists. if ! egrep -q "^$1:" $QHOME/control/virtualdomains; then echo "Error: No such domain $1" exit 1 fi # get the baseuser. BASEUSER=`egrep "^$1:" $QHOME/control/virtualdomains | sed 's/^.*://'` # Check if there are discrepancies between qmail lists and /etc/passwd. if egrep -q "^$BASEUSER:" /etc/passwd; then echo "This will delete '$1' and all its users." echo -n "Proceed? y/[n]: " read YN if test -z "$YN"; then YN="n"; fi if test $YN != "y" ; then echo "Aborted." exit 1 fi else echo "Error: Cannot remove domain. Base User not found in system files" exit 1 fi OLDDOM=$1 echo -n "Removing the domain with all user files..." userdel -r $BASEUSER echo "done" echo -n "Removing domain from qmail's control files..." cd $QHOME/control grep -v $OLDDOM virtualdomains > virt.new grep -v $OLDDOM rcpthosts > rcpt.new mv virt.new virtualdomains mv rcpt.new rcpthosts echo "done" echo -n "Restarting qmail..." killall qmail-lspawn killall qmail-send $QHOME/rc & echo "done" echo echo "All done! Domain $OLDDOM deleted."