X-Git-Url: http://git.hcoop.net/clinton/scripts.git/blobdiff_plain/5debfe01c15938323eafca20f3b69b8f31e69b3c..7cc8af5787fcfc12705dfcf541eeea10e325f7dd:/create-user diff --git a/create-user b/create-user index 0e999ce..09b8427 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 @@ -179,7 +194,11 @@ mkdir -p $HOMEPATH/.public/.domtool chown $USER:nogroup $HOMEPATH/.public/.domtool test -e $HOMEPATH/.domtool || \ test -L $HOMEPATH/.domtool || \ - ln -s $HOMEPATH/.public/.domtool $HOMEPATH/.domtool + sudo -u $USER ln -s $HOMEPATH/.public/.domtool $HOMEPATH/.domtool + +# Gitweb hosting +test -L /var/cache/git/$USER || \ + sudo ln -s $HOMEPATH/.hcoop-git /var/cache/git/$USER # MAIL VOLUME vos examine mail.$USER 2>/dev/null || \ @@ -191,6 +210,16 @@ chown $USER:nogroup $MAILPATH chown $USER:nogroup $HOMEPATH/Maildir fs sa $MAILPATH $USER all fs sa $MAILPATH $USER.daemon all +if test ! -e $MAILPATH/new; then + mkdir -p $MAILPATH/cur $MAILPATH/new $MAILPATH/tmp + echo -e "This email account is provided as a service for HCoop members." \ + "\n\nTo learn how to use it, please visit the page" \ + "\n on our website."| \ + mail -s "Welcome to your HCoop email store" \ + -e -a "From: postmaster@hcoop.net" \ + real-$USER +fi +chown $USER:nogroup $MAILPATH/cur $MAILPATH/new $MAILPATH/tmp # Set up shared SpamAssassin folder if test -f $HOMEPATH/Maildir/shared-maildirs; then @@ -202,28 +231,6 @@ if test -f $HOMEPATH/Maildir/shared-maildirs; then '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" | \ -# 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 @@ -234,7 +241,6 @@ if ! vos examine db.$USER >/dev/null 2>/dev/null; then mkdir -p `dirname /afs/.hcoop.net/common/.databases/$PATHBITS` vos create -server afs -partition a -name db.$USER -maxquota 400000 fs mkmount -dir /afs/.hcoop.net/common/.databases/$PATHBITS -vol db.$USER -rw - vos release common.databases fs sa -dir $DBPATH -acl system:postgres l fs sa -dir $DBPATH -acl system:mysql l fs sa -dir $DBPATH -acl system:backup rl @@ -254,6 +260,7 @@ mkdir -p $MYSQLDIR chown mysql:mysql $MYSQLDIR fs sa -dir $MYSQLDIR -acl system:mysql write +vos release common.databases # # Mount points for backup volumes @@ -289,3 +296,9 @@ mire_and_deleuze sudo chmod ug=rwx,o= /var/lock/apache2/dav/$USER # domtool-adduser $USER + +# +# Subscribe user to our mailing lists. +# +echo $USER@hcoop.net | sudo -u list \ + /var/lib/mailman/bin/add_members -r - hcoop-announce