Description of problem:
the wrapper script /usr/sbin/rabbitmqctl drops all arguments to the command in certain cases, for example when the calling user is not root.
I am running a rabbitmq node as a local user (for development) as a regular user, outside of /var. This works fine, however the Fedora-specific wrapper to "rabbitctl" will obscure access to the rabbitctl script. It took me quite a while to debug what was happening, until I found out the command is really a wrapper whose sole purpose is munging arguments -- and it does it wrong.
Version-Release number of selected component (if applicable):
I am on 3.1.5-1.fc19 but I see the same bug in rawhide.
Steps to Reproduce:
1. Be non-root / non-rabbitmq user
2. Run rabbitmqctl status
Error: could not recognise command
rabbitmqctl [-n <node>] [-q] <command> [<command options>]
Status of node rabbit@localhost ...
The warning "Only root or rabbitmq should run" should really be "Only root or rabbitmq must run", as currently it makes it impossible for anyone else.
However, this is not true, as any user *can* run rabbitmq.
Furthermore, users in the rabbitmq group should be able to run management commands, given the correct parameters.
Lastly, the "rabbitmq-plugins" case looks fishy too, as it allows anyone to run the rabbitmq-plugins command, and makes the first line obsolete.
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.
More information and reason for this action is here:
Created attachment 1195211 [details]
Improved and greatly simplified wrapper
Greatly simplified wrapper script which works properly for non-root users too.