From cac7779833a9c0f1d57089ad81644a63b935bad7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Amadeusz=20=C5=BBo=C5=82nowski?= Date: Sat, 22 Aug 2015 16:27:24 +0100 Subject: [PATCH] app-admin/logstash-forwarder: Allow to specify user/group for service logstash-forwarder is running as logstash user in Gentoo by default. It might be desired to run it as other user who has access to log files, presumably as root. The other solution for accessing logs would be adding logstash user to groups as which services are run and make logs readable by that group. It is also possible in some cases to change group for log files, e.g. in syslog-ng. Thanks to Tomas Mozes for submitting patch. Gentoo-Bug: 557462 Package-Manager: portage-2.2.20.1 --- .../files/logstash-forwarder.confd | 2 ++ .../files/logstash-forwarder.initd | 12 +++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app-admin/logstash-forwarder/files/logstash-forwarder.confd b/app-admin/logstash-forwarder/files/logstash-forwarder.confd index e49ed1dc295e..089b0c6ba2c2 100644 --- a/app-admin/logstash-forwarder/files/logstash-forwarder.confd +++ b/app-admin/logstash-forwarder/files/logstash-forwarder.confd @@ -1 +1,3 @@ LOGSTASH_FORWARDER_ARGS="-quiet -syslog=true" +#LOGSTASH_FORWARDER_USER="" +#LOGSTASH_FORWARDER_GROUP="" diff --git a/app-admin/logstash-forwarder/files/logstash-forwarder.initd b/app-admin/logstash-forwarder/files/logstash-forwarder.initd index 263ea8c7bd07..ecfc5ccecfb3 100644 --- a/app-admin/logstash-forwarder/files/logstash-forwarder.initd +++ b/app-admin/logstash-forwarder/files/logstash-forwarder.initd @@ -3,11 +3,14 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ +LOGSTASH_FORWARDER_USER="${LOGSTASH_FORWARDER_USER:-logstash}" +LOGSTASH_FORWARDER_GROUP="${LOGSTASH_FORWARDER_GROUP:-logstash}" + start() { local config_file=/etc/logstash-forwarder/logstash-forwarder.conf local statedir=/var/lib/logstash-forwarder - if ! [[ -d ${statedir} ]]; then + if ! [ -d ${statedir} ]; then eend 1 "logstash state directory is missing: ${statedir}" return 1 fi @@ -16,7 +19,8 @@ start() { start-stop-daemon --start --exec /usr/bin/logstash-forwarder \ --make-pidfile --pidfile /run/logstash-forwarder.pid \ --background --wait 100 --chdir "${statedir}" \ - --user logstash --group logstash \ + --user ${LOGSTASH_FORWARDER_USER} \ + --group ${LOGSTASH_FORWARDER_GROUP} \ -- -config="${config_file}" ${LOGSTASH_FORWARDER_ARGS} eend $? } @@ -24,7 +28,9 @@ start() { stop() { ebegin "Stopping logstash-forwarder" start-stop-daemon --stop --exec /usr/bin/logstash-forwarder \ - --pidfile /run/logstash-forwarder.pid --user logstash --group logstash + --pidfile /run/logstash-forwarder.pid \ + --user ${LOGSTASH_FORWARDER_USER} \ + --group ${LOGSTASH_FORWARDER_GROUP} local rc=$? eend ${rc} -- 2.26.2