From d87da4c7776d0e16b8ce6c3a583d21209c3db144 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Wed, 2 Oct 2013 12:48:57 +0200 Subject: [PATCH] dracut-logger.sh: do not log to syslog/kmsg/journal for UID != 0 Don't clutter the system log with user actions. Also check, if systemd-cat works, before using it. --- dracut-logger.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/dracut-logger.sh b/dracut-logger.sh index b052581e..f679dc94 100755 --- a/dracut-logger.sh +++ b/dracut-logger.sh @@ -140,11 +140,16 @@ dlog_init() { fi fi + if (( $UID != 0 )); then + kmsgloglvl=0 + sysloglvl=0 + fi + if (( $sysloglvl > 0 )); then if [[ -d /run/systemd/journal ]] \ && type -P systemd-cat &>/dev/null \ - && (( $UID == 0 )) \ - && systemctl is-active systemd-journald.socket &>/dev/null; then + && systemctl --quiet is-active systemd-journald.socket &>/dev/null \ + && { echo "dracut-$DRACUT_VERSION" | systemd-cat -t 'dracut' &>/dev/null; } ; then readonly _dlogdir="$(mktemp --tmpdir="$TMPDIR/" -d -t dracut-log.XXXXXX)" readonly _systemdcatfile="$_dlogdir/systemd-cat" mkfifo "$_systemdcatfile" @@ -153,6 +158,7 @@ dlog_init() { exec 15>"$_systemdcatfile" elif ! [ -S /dev/log -a -w /dev/log ] || ! command -v logger >/dev/null; then # We cannot log to syslog, so turn this facility off. + kmsgloglvl=$sysloglvl sysloglvl=0 ret=1 errmsg="No '/dev/log' or 'logger' included for syslog logging"