chown authorized_keys files as jrollins, and add monkeysphere tmpdir in SYSDATADIR...
[monkeysphere.git] / src / monkeysphere-server
index b6bf78b6e64d074cc74e71d14e62ac7de9439598..846eb81d3ea5497d21c0df2f85d00cb79d5530ba 100755 (executable)
@@ -20,6 +20,11 @@ export SYSSHAREDIR
 SYSDATADIR=${MONKEYSPHERE_SYSDATADIR:-"/var/lib/monkeysphere"}
 export SYSDATADIR
 
+# monkeysphere temp directory, in sysdatadir to enable atomic moves of
+# authorized_keys files
+MSTMPDIR="${SYSDATADIR}/tmp"
+export MSTMPDIR
+
 # UTC date in ISO 8601 format if needed
 DATE=$(date -u '+%FT%T')
 
@@ -173,7 +178,7 @@ update_users() {
        log verbose "----- user: $uname -----"
 
         # make temporary directory
-        TMPLOC=$(mktemp -d ${TMPDIR:-/tmp}/tmp.XXXXXXXXXX)
+        TMPLOC=$(mktemp -d ${MSTMPDIR}/tmp.XXXXXXXXXX)
 
        # trap to delete temporary directory on exit
        trap "rm -rf $TMPLOC" EXIT
@@ -244,7 +249,7 @@ update_users() {
            # authorized_keys file as the user in question, so the
            # file must be readable by that user at least.
            # FIXME: is there a better way to do this?
-           chown root "$AUTHORIZED_KEYS"
+           chown $(whoami) "$AUTHORIZED_KEYS"
            chgrp $(getent passwd "$uname" | cut -f4 -d:) "$AUTHORIZED_KEYS"
            chmod g+r "$AUTHORIZED_KEYS"