(untested) overhaul of monkeysphere 0.22 to 0.23 release.
[monkeysphere.git] / src / share / common
index 773c11fe9fe42a6e3ef21ba5ecc9f856fb64500e..6b7d51bab1f0b03e0d15b145daaae03052c01898 100644 (file)
@@ -92,6 +92,20 @@ log() {
 
 # run command as monkeysphere user
 su_monkeysphere_user() {
+    # our main goal here is to run the given command as the the
+    # monkeysphere user, but without prompting for any sort of
+    # authentication.  If this is not possible, we should just fail.
+
+    # FIXME: our current implementation is overly restrictive, because
+    # there may be some su PAM configurations that would allow su
+    # "$MONKEYSPHERE_USER" -c "$@" to Just Work without prompting,
+    # allowing specific users to invoke commands which make use of
+    # this user.
+
+    # chpst (from runit) would be nice to use, but we don't want to
+    # introduce an extra dependency just for this.  This may be a
+    # candidate for re-factoring if we switch implementation languages.
+
     case $(id -un) in
        # if monkeysphere user, run the command under bash
        "$MONKEYSPHERE_USER")
@@ -120,6 +134,11 @@ cutline() {
     head --line="$1" "$2" | tail -1
 }
 
+# make a temporary directly
+msmktempdir() {
+    mktemp -d ${TMPDIR:-/tmp}/tmp.XXXXXXXXXX
+}
+
 # this is a wrapper for doing lock functions.
 #
 # it lets us depend on either lockfile-progs (preferred) or procmail's