commit: cac7779833a9c0f1d57089ad81644a63b935bad7
Author: Amadeusz Żołnowski <aidecoe <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 22 15:27:24 2015 +0000
Commit: Amadeusz Żołnowski <aidecoe <AT> gentoo <DOT> org>
CommitDate: Sat Aug 22 15:32:56 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cac77798
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 <hydrapolic <AT> gmail.com> for submitting patch.
Gentoo-Bug: 557462
Package-Manager: portage-2.2.20.1
app-admin/logstash-forwarder/files/logstash-forwarder.confd | 2 ++
app-admin/logstash-forwarder/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 e49ed1d..089b0c6 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 263ea8c..ecfc5cc 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}