Fixes for SELinux support
Use /sbin/runuser to execute script as the `rabbitmq` user as this command does not cause issues with SELinux. See #32 for details.
This commit is contained in:
parent
00469eba2f
commit
c8b6b74a9c
|
@ -81,8 +81,7 @@ install -p -D -m 0755 scripts/zsh_autocomplete.sh %{buildroot}%{_datarootdir}/zs
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/rabbitmq
|
mkdir -p %{buildroot}%{_sysconfdir}/rabbitmq
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_sbindir}
|
mkdir -p %{buildroot}%{_sbindir}
|
||||||
sed -e 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' \
|
sed -e 's|@STDOUT_STDERR_REDIRECTION@||' \
|
||||||
-e 's|@STDOUT_STDERR_REDIRECTION@||' \
|
|
||||||
< scripts/rabbitmq-script-wrapper \
|
< scripts/rabbitmq-script-wrapper \
|
||||||
> %{buildroot}%{_sbindir}/rabbitmqctl
|
> %{buildroot}%{_sbindir}/rabbitmqctl
|
||||||
chmod 0755 %{buildroot}%{_sbindir}/rabbitmqctl
|
chmod 0755 %{buildroot}%{_sbindir}/rabbitmqctl
|
||||||
|
|
|
@ -31,8 +31,7 @@ override_dh_auto_install:
|
||||||
|
|
||||||
$(MAKE) install-bin DESTDIR=$(DEB_DESTDIR)
|
$(MAKE) install-bin DESTDIR=$(DEB_DESTDIR)
|
||||||
|
|
||||||
sed -e 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' \
|
sed -e 's|@STDOUT_STDERR_REDIRECTION@|> "$$RABBITMQ_LOG_BASE/startup_log" 2> "$$RABBITMQ_LOG_BASE/startup_err"|' \
|
||||||
-e 's|@STDOUT_STDERR_REDIRECTION@|> "$$RABBITMQ_LOG_BASE/startup_log" 2> "$$RABBITMQ_LOG_BASE/startup_err"|' \
|
|
||||||
< scripts/rabbitmq-script-wrapper \
|
< scripts/rabbitmq-script-wrapper \
|
||||||
> $(DEB_DESTDIR)$(PREFIX)/sbin/rabbitmqctl
|
> $(DEB_DESTDIR)$(PREFIX)/sbin/rabbitmqctl
|
||||||
chmod 0755 $(DEB_DESTDIR)$(PREFIX)/sbin/rabbitmqctl
|
chmod 0755 $(DEB_DESTDIR)$(PREFIX)/sbin/rabbitmqctl
|
||||||
|
|
|
@ -81,7 +81,16 @@ exec_script_as_rabbitmq() {
|
||||||
}
|
}
|
||||||
|
|
||||||
exec_script_as_root() {
|
exec_script_as_root() {
|
||||||
@SU_RABBITMQ_SH_C@ "/usr/lib/rabbitmq/bin/$SCRIPT $CMDLINE"
|
if [ -x /sbin/runuser ]
|
||||||
|
then
|
||||||
|
exec /sbin/runuser -u rabbitmq /bin/sh -c "/usr/lib/rabbitmq/bin/$SCRIPT $CMDLINE"
|
||||||
|
elif [ -x /bin/su ]
|
||||||
|
then
|
||||||
|
exec /bin/su rabbitmq -s /bin/sh -c "/usr/lib/rabbitmq/bin/$SCRIPT $CMDLINE"
|
||||||
|
else
|
||||||
|
echo 'No command present to run as rabbitmq user. Please ensure /bin/su or /sbin/runuser is available.' 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
run_script_help_and_fail() {
|
run_script_help_and_fail() {
|
||||||
|
|
Loading…
Reference in New Issue