summaryrefslogtreecommitdiff
path: root/sys-auth/munge/files/munged.initd
diff options
context:
space:
mode:
Diffstat (limited to 'sys-auth/munge/files/munged.initd')
-rw-r--r--sys-auth/munge/files/munged.initd47
1 files changed, 47 insertions, 0 deletions
diff --git a/sys-auth/munge/files/munged.initd b/sys-auth/munge/files/munged.initd
new file mode 100644
index 000000000000..e028d4ffd166
--- /dev/null
+++ b/sys-auth/munge/files/munged.initd
@@ -0,0 +1,47 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after localmount
+}
+
+check_key() {
+ [ -s "${KEYFILE}" ] && return 0
+ local old_umask=$(umask)
+ local ret
+ umask 037
+ dd if=/dev/urandom bs=1024 count=1 of="${KEYFILE}" 2>/dev/null; ret=$?
+ umask $old_umask
+ return $ret
+}
+
+start() {
+ ebegin "Starting munged"
+ if ! check_key; then
+ eerror "Failed to create munge key"
+ eend 1 && exit 1
+ fi
+ checkpath -d -m 755 -o munge:munge /var/run/munge
+ checkpath -d -m 711 -o munge:munge /var/lib/munge
+ checkpath -d -m 700 -o munge:munge /var/log/munge
+ checkpath -f -m 640 -o root:munge "${KEYFILE}"
+ start-stop-daemon -S /usr/sbin/munged \
+ --user munge \
+ --group munge \
+ --pidfile /var/run/munge/munged.pid \
+ -- \
+ --key-file="${KEYFILE}" \
+ --group-check-mtime="${GROUP_CHECK_MTIME}" \
+ --group-update-time="${GROUP_UPDATE_TIME}" \
+ --num-threads="${NUM_THREADS}"
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping munged"
+ start-stop-daemon -K /usr/sbin/munged \
+ --pidfile /var/run/munge/munged.pid
+ eend ${?}
+}
+