# 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")
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