#!/bin/bash # MUST be executed: # - on deleuze # - as a user with an /etc/sudoers line # - while holding system:administrator tokens USER=$1 if test -z "$USER"; then echo Usage: destroy-user USERNAME exit 1 fi PATHBITS=`echo $USER | head -c 1`/`echo $USER | head -c 2`/$USER HOMEPATH=/afs/hcoop.net/user/$PATHBITS MAILPATH=/afs/hcoop.net/common/email/$PATHBITS DBPATH=/afs/.hcoop.net/common/.databases/$PATHBITS # We don't use separate partitions for logs #LOGSPATH=/afs/.hcoop.net/common/.logs/$USER sudo rm -f /etc/keytabs/mailfilter/$USER sudo rm -f /etc/keytabs/cgi/$USER sudo rm -f /etc/keytabs/user.daemon/$USER # LDAP sudo ldapdelete -v -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret \ uid=$USER,ou=People,dc=hcoop,dc=net sudo ldapdelete -v -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret \ uid=$USER.cgi,ou=People,dc=hcoop,dc=net sudo ldapdelete -v -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret \ uid=$USER.mailfilter,ou=People,dc=hcoop,dc=net sudo ldapdelete -v -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret \ cn=$USER,ou=Group,dc=hcoop,dc=net sudo ldapdelete -v -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret \ cn=$USER.cgi,ou=Group,dc=hcoop,dc=net sudo ldapdelete -v -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret \ cn=$USER.mailfilter,ou=Group,dc=hcoop,dc=net sudo ldapdelete -v -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret \ cn=$USER.daemon,ou=Group,dc=hcoop,dc=net # Remove from domtool domtool-rmuser $USER # Invalidate nscd cache sudo nscd -i passwd sudo nscd -i group # Remove from databases #sudo -u postgres psql -c "DROP TABLESPACE user_$USER" #sudo -u postgres psql -c "DROP USER $USER" #sudo -H mysql -e "DROP USER $USER@localhost" # Remove privs before rm fs sa $HOMEPATH -clear system:anyuser none fs sa $MAILPATH -clear system:anyuser none #XXX see what to do with db volume fs rm $MAILPATH fs rm $HOMEPATH #fs rm $LOGSPATH #fs rm $DBPATH fs rm /afs/.hcoop.net/old/user/$PATHBITS fs rm /afs/.hcoop.net/old/mail/$PATHBITS # Don't delete volumes, rename them. #vos remove deleuze.hcoop.net /vicepa user.$USER #vos remove deleuze.hcoop.net /vicepa mail.$USER #vos remove deleuze.hcoop.net /vicepa db.$USER #vos remove deleuze.hcoop.net /vicepa logs.$USER vos rename user.$USER user.$USER.d vos rename mail.$USER mail.$USER.d #XXX vos rename db.$USER db.$USER.d vos release common.databases #vos release common.logs sudo kadmin.local -q "delprinc -force $USER@HCOOP.NET" sudo kadmin.local -q "delprinc -force $USER/mailfilter@HCOOP.NET" sudo kadmin.local -q "delprinc -force $USER/cgi@HCOOP.NET" sudo kadmin.local -q "delprinc -force $USER/daemon@HCOOP.NET" pts delete $USER pts delete $USER.mailfilter pts delete $USER.cgi pts delete $USER.daemon #fs rm /afs/hcoop.net/old/user/$PATHBITS #fs rm /afs/hcoop.net/old/mail/$PATHBITS #fs rm /afs/hcoop.net/old/logs/$PATHBITS vos syncserv deleuze vos syncvldb deleuze fs checkvolumes # Remove user from all of our mailing lists echo $USER@hcoop.net | sudo -u list \ /var/lib/mailman/bin/remove_members --fromall -f -