summaryrefslogtreecommitdiff
path: root/scripts/rabbitmq-script-wrapper
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/rabbitmq-script-wrapper')
-rw-r--r--scripts/rabbitmq-script-wrapper19
1 files changed, 12 insertions, 7 deletions
diff --git a/scripts/rabbitmq-script-wrapper b/scripts/rabbitmq-script-wrapper
index 9e715aad17..4b44f566ba 100644
--- a/scripts/rabbitmq-script-wrapper
+++ b/scripts/rabbitmq-script-wrapper
@@ -27,14 +27,15 @@ RABBITMQ_SCRIPTS_DIR="$(dirname "$RABBITMQ_ENV")"
main() {
ensure_we_are_in_a_readable_dir
- if current_user_is_rabbitmq
+ if current_user_is_rabbitmq && calling_rabbitmq_server
then
- if calling_rabbitmq_server
- then
- exec_rabbitmq_server "$@"
- else
- exec_script_as_rabbitmq "$@"
- fi
+ exec_rabbitmq_server "$@"
+ elif current_user_is_rabbitmq && ! calling_rabbitmq_plugins
+ then
+ exec_script_as_rabbitmq "$@"
+ elif current_user_is_root && calling_rabbitmq_plugins
+ then
+ exec_script_as_rabbitmq "$@"
elif current_user_is_root
then
exec_script_as_root
@@ -60,6 +61,10 @@ calling_rabbitmq_server() {
[ "$SCRIPT" = "rabbitmq-server" ]
}
+calling_rabbitmq_plugins() {
+ [ "$SCRIPT" = "rabbitmq-plugins" ]
+}
+
exec_rabbitmq_server() {
RABBITMQ_ENV=/usr/lib/rabbitmq/bin/rabbitmq-env
# RABBITMQ_SCRIPTS_DIR is used in rabbitmq-env