X-Git-Url: http://git.hcoop.net/clinton/scripts.git/blobdiff_plain/7e1859cd077e582c5cc098bbecf6c2a1466632cf..241a0263b49eb5a72ff9d4ef14d50f351c93e1f9:/create-user diff --git a/create-user b/create-user index ff57c9d..d374f35 100755 --- a/create-user +++ b/create-user @@ -9,6 +9,21 @@ # - while holding tokens for a user who is: # - a member of system:administrator # - listed in 'bos listusers deleuze' +# - and who has been set up with Domtool admin privileges by: +# - running 'domtool-adduser $USER' while holding AFS admin tokens as +# someone who is already a Domtool admin +# - running 'domtool-admin grant $USER priv all' as someone who is already a +# Domtool admin +# (To bootstrap yourself into admindom: +# 1. Run '/etc/init.d/domtool-server stop' on deleuze. +# 2. Run '/etc/init.d/domtool-slave stop' on all Domtool slave machines +# (e.g., mire). +# 3. Edit ~domtool/acl, following the example of adamc_admin to grant +# yourself 'priv all'. +# 4. Run '/etc/init.d/domtool-server start' on deleuze. +# 5. Run '/etc/init.d/domtool-slave start' on all Domtool slave +# machines. +# 6. Run 'domtool-adduser' as above.) USER=$1 @@ -150,9 +165,14 @@ fs sa $HOMEPATH $USER all fs sa $HOMEPATH system:anyuser l # Apache logs -mkdir -p $HOMEPATH/logs/apache -chown $USER:nogroup $HOMEPATH/logs/apache -fs sa $HOMEPATH/logs/apache $USER.daemon rlwidk +mkdir -p $HOMEPATH/.logs +chown $USER:nogroup $HOMEPATH/.logs +mkdir -p $HOMEPATH/.logs/apache +chown $USER:nogroup $HOMEPATH/.logs/apache +fs sa $HOMEPATH/.logs/apache $USER.daemon rlwidk +mkdir -p $HOMEPATH/.logs/mail +fs sa $HOMEPATH/.logs/mail $USER.daemon rlwidk +chown $USER:nogroup $HOMEPATH/.logs/mail # public_html mkdir -p $HOMEPATH/public_html @@ -187,6 +207,43 @@ chown $USER:nogroup $HOMEPATH/Maildir fs sa $MAILPATH $USER all fs sa $MAILPATH $USER.daemon all +# Set up shared SpamAssassin folder +if test -f $HOMEPATH/Maildir/shared-maildirs; then + # Deal with case where user rsync'd their Maildir from fyodor + pattern='^SpamAssassin /home/spamd' + file=$HOMEPATH/Maildir/shared-maildirs + if grep $pattern $file; then + sed -i -r -e \ + 's!^(SpamAssassin )/home/spamd!\1/var/local/lib/spamd!1' \ + $file + fi + +# This does not yet seem to be needed, and it triggers an AFS issue, +# so I've commented it out --mwolson. +# +NOTIFY=no +for dir in $HOMEPATH/Maildir/shared-folders/SpamAssassin/*; do + if ! test -d $dir; then + NOTIFY=yes + else + dest=/var/local/lib/spamd/Maildir/.$(basename $dir) + if test "$(readlink $dir/shared)" != "$dest"; then + ln -sf $dest $dir/shared + fi + fi +done +if test $NOTIFY = yes; then + # This is probably going overboard, but oh well + echo "$USER needs assistance on their shared spam dir" | \ + pagsh -c mail -s "[create-user] $USER needs assistance" \ + -e -a "From: admins@deleuze.hcoop.net" mwolson_admin +fi + +else + maildirmake --add SpamAssassin=/var/local/lib/spamd/Maildir \ + $HOMEPATH/Maildir +fi + # DATABASE VOLUME if ! vos examine db.$USER >/dev/null 2>/dev/null; then mkdir -p `dirname /afs/.hcoop.net/common/.databases/$PATHBITS` @@ -199,7 +256,7 @@ if ! vos examine db.$USER >/dev/null 2>/dev/null; then fi # Create postgres user and tablespace placeholder within volume -if ! [ -d $PGDIR ]; then +if ! test -d $PGDIR; then mkdir -p $PGDIR chown postgres:postgres $PGDIR fs sa -dir $PGDIR -acl system:postgres write @@ -241,3 +298,9 @@ mire_and_deleuze fs checkvolumes mire_and_deleuze sudo mkdir -p /var/lock/apache2/dav/$USER mire_and_deleuze sudo chown $USER:www-data /var/lock/apache2/dav/$USER mire_and_deleuze sudo chmod ug=rwx,o= /var/lock/apache2/dav/$USER + +# +# Domtool integration +# + +domtool-adduser $USER