diff options
| author | Luke Bakken <lbakken@pivotal.io> | 2018-09-12 15:17:22 -0700 |
|---|---|---|
| committer | Luke Bakken <lbakken@pivotal.io> | 2018-09-12 15:26:42 -0700 |
| commit | 79d58412246950cad0fa56a25621c68292c3f806 (patch) | |
| tree | cf9d6ce29600e6252d0ee22aca32eaa636a073a5 /scripts | |
| parent | 3d18a4918d09a652318ee921546fbb936c44d8e5 (diff) | |
| download | rabbitmq-server-git-79d58412246950cad0fa56a25621c68292c3f806.tar.gz | |
Ensure ~rabbitmq/.erlang.cookie is readable after running a command as root
Fixes #85
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/rabbitmq-script-wrapper | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/scripts/rabbitmq-script-wrapper b/scripts/rabbitmq-script-wrapper index dd8ce1a590..488100f57a 100644 --- a/scripts/rabbitmq-script-wrapper +++ b/scripts/rabbitmq-script-wrapper @@ -29,7 +29,8 @@ main() { exec_script_as_rabbitmq "$@" elif current_user_is_root && calling_rabbitmq_plugins then - exec_script_as_rabbitmq "$@" + run_script_as_rabbitmq "$@" + maybe_fixup_erlang_cookie elif current_user_is_root then exec_script_as_root "$@" @@ -38,6 +39,17 @@ main() { fi } +maybe_fixup_erlang_cookie() { + # rabbitmq/rabbitmq-server-release#85 + _rabbitmq_home="$(cd ~rabbitmq && pwd)" + _erlang_cookie="$_rabbitmq_home/.erlang.cookie" + if [ -f "$_erlang_cookie" ] + then + chown rabbitmq:rabbitmq "$_erlang_cookie" + chmod 400 "$_erlang_cookie" + fi +} + ensure_we_are_in_a_readable_dir() { # shellcheck disable=SC2164 cd ~rabbitmq || cd / @@ -70,6 +82,10 @@ exec_rabbitmq_server() { exec /usr/lib/rabbitmq/bin/rabbitmq-server "$@" @STDOUT_STDERR_REDIRECTION@ } +run_script_as_rabbitmq() { + HOME="$(cd ~rabbitmq && pwd)" "/usr/lib/rabbitmq/bin/$SCRIPT" "$@" +} + exec_script_as_rabbitmq() { HOME="$(cd ~rabbitmq && pwd)" exec "/usr/lib/rabbitmq/bin/$SCRIPT" "$@" } |
