create-user: Make apache happy w.r.t. DAV lock directory
[hcoop/scripts.git] / create-user
index a1c1788..8551fa7 100755 (executable)
@@ -135,25 +135,33 @@ vos examine user.$USER 2>/dev/null || \
   vos create deleuze.hcoop.net /vicepa user.$USER -maxquota 400000
 mkdir -p `dirname $HOMEPATH`
 fs ls $HOMEPATH || fs mkm $HOMEPATH user.$USER
-chown $USER $HOMEPATH
+chown $USER:nogroup $HOMEPATH
 fs sa $HOMEPATH $USER            all
 fs sa $HOMEPATH system:anyuser   l
 
 # Apache logs
 mkdir -p $HOMEPATH/logs/apache
-fsr sa    $HOMEPATH/logs/apache $USER.daemon rlwidk
+chown $USER:nogroup $HOMEPATH/logs/apache
+fs sa $HOMEPATH/logs/apache $USER.daemon rlwidk
 
 # public_html
-mkdir -p $HOMEPATH/public_html/
+mkdir -p $HOMEPATH/public_html
+chown $USER:nogroup $HOMEPATH/public_html
 fs sa $HOMEPATH/public_html system:anyuser rl
-mkdir -p $HOMEPATH/.procmail.d/
-fs sa $HOMEPATH/.procmail.d/ system:anyuser rl
+
+# .procmail.d
+mkdir -p $HOMEPATH/.procmail.d
+chown $USER:nogroup $HOMEPATH/.procmail.d
+fs sa $HOMEPATH/.procmail.d system:anyuser rl
+
+# .public
 mkdir -p $HOMEPATH/.public/
-fs sa $HOMEPATH/.public/ system:anyuser rl
-test -e $HOMEPATH/.forward || \
-    test -L $HOMEPATH/.forward || \
-        ln -s $HOMEPATH/.public/.forward $HOMEPATH/.forward
-mkdir -p $HOMEPATH/.public/.domtool/
+chown $USER:nogroup $HOMEPATH/.public
+fs sa $HOMEPATH/.public system:anyuser rl
+
+# .domtool
+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
@@ -162,10 +170,11 @@ test -e $HOMEPATH/.domtool || \
 vos examine mail.$USER 2>/dev/null || \
   vos create deleuze.hcoop.net /vicepa mail.$USER -maxquota 400000
 mkdir -p `dirname $MAILPATH`
+chown $USER:nogroup $MAILPATH
 fs ls $MAILPATH || fs mkm $MAILPATH         mail.$USER
 fs ls $HOMEPATH/Maildir || fs mkm $HOMEPATH/Maildir mail.$USER
 fs sa $MAILPATH $USER        all
-fsr sa $MAILPATH $USER.daemon all
+fs sa $MAILPATH $USER.daemon all
 
 # DATABASE VOLUME
 if ! vos examine db.$USER >/dev/null 2>/dev/null; then
@@ -213,10 +222,12 @@ vos syncvldb deleuze
 fs checkvolumes
 ssh mire.hcoop.net fs checkvolumes
 
-# Technically this is not idempotent.  This is not *too* bad because
-# of the fact that in AFS non-system:administrators users can't change
-# the group/owner of a file anyways.  However, users still might want
-# to know which other users created certain files (in, say, a dropbox
-# or something like that).  FIMXE.
-chown -R $USER:nogroup $HOMEPATH
-chown -R $USER:nogroup $MAILPATH
+#
+# Files and directories on deleuze
+#
+
+# Make per-user apache DAV lock directory -- the directory must be
+# both user and group-writable, which is silly.
+sudo mkdir -p /var/lock/apache2/dav/$USER
+sudo chown $USER:www-data /var/lock/apache2/dav/$USER
+sudo chmod ug=rwx,o= /var/lock/apache2/dav/$USER