]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
dracut-logger.sh: do not log to syslog/kmsg/journal for UID != 0
authorHarald Hoyer <harald@redhat.com>
Wed, 2 Oct 2013 10:48:57 +0000 (12:48 +0200)
committerHarald Hoyer <harald@redhat.com>
Wed, 2 Oct 2013 10:48:57 +0000 (12:48 +0200)
Don't clutter the system log with user actions.

Also check, if systemd-cat works, before using it.

dracut-logger.sh

index b052581e8234899a0094c3e37d20a6be054d59cd..f679dc945164fe7b8b65daafcb1956c332648209 100755 (executable)
@@ -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"