streamlined pkg-install and pkg-deinstall, based on mysql and postgresql ports
[monkeysphere.git] / src / monkeysphere-server
index 084e0d51a19f03f4f3e9e1e37277427e0a18f421..e590f3cdd3469ab0104ce231ff054bed45542d20 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # monkeysphere-server: MonkeySphere server admin tool
 #
@@ -20,7 +20,7 @@ export SHARE
 VARLIB="/var/lib/monkeysphere"
 export VARLIB
 
-# date in UTF format if needed
+# UTC date in ISO 8601 format if needed
 DATE=$(date -u '+%FT%T')
 
 # unset some environment variables that could screw things up
@@ -120,7 +120,7 @@ show_server_key() {
 
     # dumping to a file named ' ' so that the ssh-keygen output
     # doesn't claim any potentially bogus hostname(s):
-    tmpkey=$(mktemp -d)
+    tmpkey=$(mktemp -d ${TMPDIR:-/tmp}/tmp.XXXXXXXXXX)
     gpg_authentication "--export $fingerprint" | openpgp2ssh "$fingerprint" 2>/dev/null > "$tmpkey/ "
     echo -n "ssh fingerprint: "
     (cd "$tmpkey" && ssh-keygen -l -f ' ' | awk '{ print $2 }')
@@ -157,7 +157,7 @@ update_users() {
     for uname in $unames ; do
        # check all specified users exist
        if ! getent passwd "$uname" >/dev/null ; then
-           log verbose "----- unknown user '$uname' -----"
+           log error "----- unknown user '$uname' -----"
            continue
        fi
 
@@ -188,7 +188,7 @@ update_users() {
        fi
 
         # make temporary directory
-        TMPDIR=$(mktemp -d)
+        TMPDIR=$(mktemp -d ${TMPDIR:-/tmp}/tmp.XXXXXXXXXX)
 
        # trap to delete temporary directory on exit
        trap "rm -rf $TMPDIR" EXIT
@@ -568,6 +568,14 @@ diagnostics() {
     warnwindow='2 months'
     warndate=$(date +%s -d "$warnwindow")
 
+    if ! id monkeysphere >/dev/null ; then
+       echo "! No monkeysphere user found!  Please create a monkeysphere system user."
+    fi
+
+    if ! [ -d "$VARLIB" ] ; then
+       echo "! no $VARLIB directory found.  Please create it."
+    fi
+
     echo "Checking host GPG key..."
     if (( "$keysfound" < 1 )); then
        echo "! No host key found."
@@ -858,7 +866,7 @@ unset MONKEYSPHERE_USER
 # defaults
 LOG_LEVEL=${MONKEYSPHERE_LOG_LEVEL:=${LOG_LEVEL:="INFO"}}
 KEYSERVER=${MONKEYSPHERE_KEYSERVER:=${KEYSERVER:="subkeys.pgp.net"}}
-AUTHORIZED_USER_IDS=${MONKEYSPHERE_AUTHORIZED_USER_IDS:=${AUTHORIZED_USER_IDS:="%h/.config/monkeysphere/authorized_user_ids"}}
+AUTHORIZED_USER_IDS=${MONKEYSPHERE_AUTHORIZED_USER_IDS:=${AUTHORIZED_USER_IDS:="%h/.monkeysphere/authorized_user_ids"}}
 RAW_AUTHORIZED_KEYS=${MONKEYSPHERE_RAW_AUTHORIZED_KEYS:=${RAW_AUTHORIZED_KEYS:="%h/.ssh/authorized_keys"}}
 MONKEYSPHERE_USER=${MONKEYSPHERE_MONKEYSPHERE_USER:=${MONKEYSPHERE_USER:="monkeysphere"}}