https://bugzilla.redhat.com/show_bug.cgi?id=1036780
--- Comment #9 from Peter Lemenkov <lemenkov(a)gmail.com> ---
Fixed in rabbitmq-server-4.2.5-2.fc45 (rawhide), rabbitmq-server-4.2.5-2.fc44,
and rabbitmq-server-4.0.9-2.fc43. All submitted to Bodhi.
The wrapper script has been replaced with a simplified version that correctly
passes all arguments for both root and non-root users. When running as root,
runuser is used to switch to the rabbitmq user with a CWD fix to avoid Erlang's
code_server failing on unreadable directories.
--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=1036780
Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-sp…
https://bugzilla.redhat.com/show_bug.cgi?id=1104843
Peter Lemenkov <lemenkov(a)gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |CLOSED
Resolution|--- |WONTFIX
Last Closed| |2026-03-25 21:09:51
--- Comment #9 from Peter Lemenkov <lemenkov(a)gmail.com> ---
Closing as WONTFIX. Here's a summary of where things stand after 11 years of
discussion:
The original problem — systemd killing EPMD because it ran under RabbitMQ's
cgroup — was resolved by introducing socket-activated EPMD (epmd@.socket) as a
standalone systemd service with its own cgroup. This prevents the scenario
where stopping one Erlang application kills EPMD and breaks other Erlang nodes
on the same host.
The remaining request — that EPMD should automatically stop when RabbitMQ stops
— cannot be cleanly implemented because EPMD is a shared service. Multiple
Erlang VMs on the same host may register with the same EPMD instance, so
automatically stopping it when any single consumer shuts down risks breaking
other Erlang applications. As Lennart confirmed on fedora-devel, systemd's
dependency model doesn't have a mechanism for "stop this service only when all
consumers are gone" in the socket activation case.
Additionally, modern RabbitMQ (4.x) can be configured to run without EPMD
entirely by using static port distribution. Administrators who want
fine-grained control over EPMD lifecycle can use systemd unit overrides to
adjust the behavior for their specific environment (e.g., BindsTo= if RabbitMQ
is the only Erlang application on the host).
The current behavior — EPMD remaining active after RabbitMQ stops — is the
correct default for a shared service and can be explicitly stopped by the
administrator if desired.
--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=1104843
Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-sp…
https://bugzilla.redhat.com/show_bug.cgi?id=1036780
--- Comment #6 from Peter Lemenkov <lemenkov(a)gmail.com> ---
VERIFIED: Simplified wrapper works perfectly!
Tested the 2016 patch (simplified 9-line wrapper) and it successfully passes
all arguments to the actual rabbitmqctl binary. Non-root users can now execute
rabbitmqctl commands without the wrapper blocking them.
Test command:
$ ~/.local/bin/rabbitmqctl status
Result: Successfully invoked the actual rabbitmqctl binary, which attempted to
connect to RabbitMQ server (expected behavior - shows proper argument passing).
The simplified wrapper approach is the correct fix. Will package this for
rawhide, F44, and F43.
--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=1036780
Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-sp…
https://bugzilla.redhat.com/show_bug.cgi?id=1036780
--- Comment #5 from Peter Lemenkov <lemenkov(a)gmail.com> ---
CONFIRMED: Bug persists even for users in rabbitmq group.
After adding user to rabbitmq group:
$ groups
rabbitmq wheel mock petro
$ rabbitmqctl status
[shows help text]
Only root or rabbitmq can run rabbitmqctl
The wrapper script has fundamental logic flaws that prevent ANY non-root user
from running rabbitmqctl, even when in the rabbitmq group. The 2016 patch in
attachment 1195211 should be reviewed and applied.
This 10+ year old bug blocks legitimate use cases like developers running local
RabbitMQ instances.
--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=1036780
Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-sp…
https://bugzilla.redhat.com/show_bug.cgi?id=1036780
--- Comment #4 from Peter Lemenkov <lemenkov(a)gmail.com> ---
Bug CONFIRMED still present in current rabbitmq-server package.
Testing as non-root user shows the exact issue reported in 2013:
$ rabbitmqctl status
/usr/bin/rabbitmqctl: строка 47: cd: /var/lib/rabbitmq: Отказано в доступе
[shows help text]
Only root or rabbitmq can run rabbitmqctl
The wrapper script at /usr/bin/rabbitmqctl fails to cd into /var/lib/rabbitmq
for non-root users, then drops all arguments and displays help instead of
executing the command.
This is a 10+ year old bug that needs to be addressed. Attachment 1195211 from
2016 contains a proposed fix.
--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=1036780
Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-sp…