#!/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" 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 #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 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 -