backup-manager: Add help command.
[clinton/scripts.git] / destroy-user
index 573987c..766aa0e 100755 (executable)
@@ -6,6 +6,10 @@
 #  - while holding system:administrator tokens
 
 USER=$1
 #  - 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
 
 PATHBITS=`echo $USER | head -c 1`/`echo $USER | head -c 2`/$USER
 HOMEPATH=/afs/hcoop.net/user/$PATHBITS
@@ -16,6 +20,7 @@ DBPATH=/afs/.hcoop.net/common/.databases/$PATHBITS
 
 sudo rm -f /etc/keytabs/mailfilter/$USER
 sudo rm -f /etc/keytabs/cgi/$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 \
 
 # LDAP
 sudo ldapdelete -v -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret \
@@ -30,26 +35,41 @@ 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
        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
 
 # 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 TABLESPACE user_$USER"
 #sudo -u postgres psql -c "DROP USER $USER"
 #sudo -H mysql -e "DROP USER $USER@localhost"
 
 #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 $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
+#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 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
 
 vos release common.databases
 #vos release common.logs
@@ -57,10 +77,12 @@ vos release common.databases
 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@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
 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/user/$PATHBITS
 #fs rm /afs/hcoop.net/old/mail/$PATHBITS
@@ -70,3 +92,7 @@ vos syncserv deleuze
 vos syncvldb deleuze
 fs checkvolumes
 
 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 -
+