X-Git-Url: http://git.hcoop.net/hcoop/scripts.git/blobdiff_plain/abfe84ca1bf183ef33ee25ac66820a2e256cb520..8b3e03c4cf4a2843d66ff1c55e1270c7330ed982:/lib/create-user-lib.sh diff --git a/lib/create-user-lib.sh b/lib/create-user-lib.sh index 51834ef..32ace7d 100644 --- a/lib/create-user-lib.sh +++ b/lib/create-user-lib.sh @@ -35,23 +35,24 @@ MAILPATH=/afs/hcoop.net/common/email/$PATHBITS # function execute_on_web_nodes () { - ssh -K deleuze $* - ssh -K mire $* - ssh -K navajos $* + ssh -K shelob.hcoop.net $* } function execute_on_domtool_server () { - ssh -K deleuze.hcoop.net $* + ssh -K gibran.hcoop.net $* } +function execute_on_mail_nodes () { + ssh -K minsky.hcoop.net $* +} function execute_on_all_machines () { $* - ssh -K mire.hcoop.net $* - ssh -K hopper.hcoop.net $* - ssh -K deleuze.hcoop.net $* - ssh -K navajos.hcoop.net $* - ssh -K bog.hcoop.net $* + ssh -K marsh.hcoop.net $* + ssh -K minsky.hcoop.net $* + ssh -K shelob.hcoop.net $* + ssh -K lovelace.hcoop.net $* + ssh -K outpost.hcoop.net $* } # @@ -101,21 +102,17 @@ function export_user_keytabs () { sudo chmod 440 /etc/keytabs/user.daemon/$NEWUSER # rsync keytabs + # only needed on nodes that will run code on behalf of members + # fixme: duplicates all server list (cd /etc/keytabs sudo tar clpf - user.daemon/$NEWUSER | \ - ssh mire.hcoop.net cd /etc/keytabs\; sudo tar xlpf -) - (cd /etc/keytabs - sudo tar clpf - user.daemon/$NEWUSER | \ - ssh hopper.hcoop.net cd /etc/keytabs\; sudo tar xlpf -) - (cd /etc/keytabs - sudo tar clpf - user.daemon/$NEWUSER | \ - ssh deleuze.hcoop.net cd /etc/keytabs\; sudo tar xlpf -) + ssh marsh.hcoop.net cd /etc/keytabs\; sudo tar xlpf -) (cd /etc/keytabs sudo tar clpf - user.daemon/$NEWUSER | \ - ssh navajos.hcoop.net cd /etc/keytabs\; sudo tar xlpf -) + ssh minsky.hcoop.net cd /etc/keytabs\; sudo tar xlpf -) (cd /etc/keytabs sudo tar clpf - user.daemon/$NEWUSER | \ - ssh bog.hcoop.net cd /etc/keytabs\; sudo tar xlpf -) + ssh shelob.hcoop.net cd /etc/keytabs\; sudo tar xlpf -) } @@ -133,7 +130,7 @@ function create_home_volume () { vos rename user.$NEWUSER.d user.$NEWUSER fi vos examine user.$NEWUSER 2>/dev/null || \ - vos create fritz.hcoop.net /vicepa user.$NEWUSER -maxquota 400000 + vos create gibran.hcoop.net /vicepa user.$NEWUSER -maxquota 10000000 mkdir -p `dirname $HOMEPATH` fs ls $HOMEPATH || test -L $HOMEPATH || fs mkm $HOMEPATH user.$NEWUSER @@ -158,7 +155,7 @@ function create_mail_volume () { vos rename mail.$NEWUSER.d mail.$NEWUSER fi vos examine mail.$NEWUSER 2>/dev/null || \ - vos create fritz.hcoop.net /vicepa mail.$NEWUSER -maxquota 400000 + vos create gibran.hcoop.net /vicepa mail.$NEWUSER -maxquota 10000000 mkdir -p `dirname $MAILPATH` fs ls $MAILPATH || fs mkm $MAILPATH mail.$NEWUSER @@ -175,7 +172,7 @@ function create_mail_volume () { "\n on our website."| \ mail -s "Welcome to your HCoop email store" \ -e -a "From: postmaster@hcoop.net" \ - real-$NEWUSER + real-$NEWUSER@hcoop.net fi chown $NEWUSER:nogroup $MAILPATH/cur $MAILPATH/new $MAILPATH/tmp @@ -193,7 +190,7 @@ function create_mail_volume () { $file fi else - maildirmake --add SpamAssassin=/var/local/lib/spamd/Maildir \ + maildirmake --add SpamAssassin=/afs/hcoop.net/user/s/sp/spamd/Maildir \ $HOMEPATH/Maildir fi @@ -215,6 +212,7 @@ function seed_user_hcoop_directories () { mkdir -p $HOMEPATH/.logs/apache chown $NEWUSER:nogroup $HOMEPATH/.logs/apache fs sa $HOMEPATH/.logs/apache $NEWUSER.daemon rlwidk + fs sa $HOMEPATH/.logs/apache webalizer read mkdir -p $HOMEPATH/.logs/mail fs sa $HOMEPATH/.logs/mail $NEWUSER.daemon rlwidk chown $NEWUSER:nogroup $HOMEPATH/.logs/mail @@ -241,15 +239,11 @@ function seed_user_hcoop_directories () { chown $NEWUSER:nogroup $HOMEPATH/.public/.domtool test -e $HOMEPATH/.domtool || \ test -L $HOMEPATH/.domtool || \ - execute_on_domtool_server sudo -u $NEWUSER ln -s $HOMEPATH/.public/.domtool $HOMEPATH/.domtool + execute_on_domtool_server ln -s $HOMEPATH/.public/.domtool $HOMEPATH/.domtool + execute_on_domtool_server chown $NEWUSER $HOMEPATH/.domtool # ^^ work around sudo env_reset crap without having to # actually figure out how to make it work cleanly -- clinton, # 2011-11-30 - - # Gitweb hosting - test -L /var/cache/git/$NEWUSER || \ - sudo ln -s $HOMEPATH/.hcoop-git /var/cache/git/$NEWUSER - } # @@ -279,7 +273,7 @@ function enable_domtool () { function subscribe_to_lists () { # Subscribe user to our mailing lists. - echo $NEWUSER@hcoop.net | ssh -K deleuze sudo -u list \ + echo $NEWUSER@hcoop.net | ssh -K minsky sudo -u list \ /var/lib/mailman/bin/add_members -r - hcoop-announce } @@ -287,9 +281,32 @@ function ensure_afs_servers_synced () { vos release old # technically this might not be necessary, but for good measure... - vos syncserv fritz - vos syncvldb fritz + local srv + for srv in gibran lovelace; do + vos syncserv $srv + vos syncvldb $srv + done # refresh volume location cache (takes ~2hrs otherwise) execute_on_all_machines fs checkvolumes -} \ No newline at end of file +} + +# +# webserver +# + +function create_fcgi_wrapper () { + # note: might want to move this to domtool-adduser + local wrapper_dir="/afs/hcoop.net/common/etc/domtool/httpd/fastcgi/${PATHBITS}" + local wrapper="${wrapper_dir}/${NEWUSER}-wrapper-wrapper" + mkdir -p $wrapper_dir + cat > $wrapper <