From 98ec2979eac84fe5fb7511b1528ff49e7427f2e3 Mon Sep 17 00:00:00 2001 From: Justin Clark Date: Fri, 12 Aug 2016 16:01:05 -0700 Subject: [PATCH] Fix ssh-keys:add permission error --- dokku | 6 +++--- plugins/ssh-keys/user-auth | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dokku b/dokku index 8a91f11c2..c9779a204 100755 --- a/dokku +++ b/dokku @@ -56,14 +56,14 @@ if [[ "${args[0]}" =~ ^--.* ]]; then fi ! has_tty && DOKKU_QUIET_OUTPUT=1 -if [[ $(id -un) != "dokku" ]] && [[ ! $1 =~ plugin:* ]]; then +if [[ $(id -un) != "dokku" ]] && [[ ! $1 =~ plugin:* ]] && [[ ! $1 == "ssh-keys:add" ]]; then export SSH_USER=$(id -un) sudo -u dokku -E -H "$0" "$@" exit $? fi -if [[ $(id -un) != "root" && $1 =~ ^plugin:.* ]]; then - dokku_log_fail "plugin:* commands must be run as root" +if [[ $(id -un) != "root" && $1 =~ ^plugin:.* ]] || [[ $(id -un) != "root" && $1 == "ssh-keys:add" ]]; then + dokku_log_fail "This command must be run as root" fi if [[ -n "$SSH_ORIGINAL_COMMAND" ]]; then diff --git a/plugins/ssh-keys/user-auth b/plugins/ssh-keys/user-auth index 92fd0de49..a5025c4a6 100755 --- a/plugins/ssh-keys/user-auth +++ b/plugins/ssh-keys/user-auth @@ -3,11 +3,11 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions" check_ssh_keys_user() { - declare desc="check user running ssh-keys" + declare desc="check user passed by user-auth for ssh-keys plugin" local SSH_USER=$1 SSH_NAME=$2 [[ "$SSH_USER" == "root" || "$SSH_NAME" == *admin* ]] || dokku_log_fail "You must be root, or a dokku admin, to execute this command" } -if [[ "$3" == ssh-keys* ]]; then +if [[ "$3" =~ (ssh-keys:add|ssh-keys:remove) ]]; then check_ssh_keys_user "$@" fi