diff options
-rwxr-xr-x | src/monkeysphere-host | 2 | ||||
-rw-r--r-- | src/share/common | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/monkeysphere-host b/src/monkeysphere-host index 2dc6003..11121cc 100755 --- a/src/monkeysphere-host +++ b/src/monkeysphere-host @@ -209,7 +209,7 @@ show_key() { # MAIN ######################################################################## -# unset variables that should be defined only in config file of in +# unset variables that should be defined only in config file or in # MONKEYSPHERE_ variables unset LOG_LEVEL unset KEYSERVER diff --git a/src/share/common b/src/share/common index 773c11f..4120259 100644 --- a/src/share/common +++ b/src/share/common @@ -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") |