The previous patch was buggy, here a corrected one. I couldn't come up with a more elegant solution...

The variables SYSLOGNG_USER, SYSLOGNG_GROUP and SYSLOGNG_CHROOT may be set in /etc/default/syslog-ng

--- syslog-ng-2.0.9/debian/syslog-ng.init
+++ syslog-ng-2.0.9/debian/syslog-ng.init
@@ -51,6 +51,18 @@
 SYSLOGNG="/sbin/syslog-ng"
 NAME="syslog-ng"

+SYSLOGNG_OPTIONS=""
+
+# Do we have a non-root user set?
+if [ -n "$SYSLOGNG_USER" ]; then
+  SYSLOGNG_OPTIONS="-u $SYSLOGNG_USER"
+fi
+
+# Do we have a non-root group set?
+if [ -n "$SYSLOGNG_GROUP" ]; then
+  SYSLOGNG_OPTIONS="$SYSLOGNG_OPTIONS -g $SYSLOGNG_GROUP"
+fi
+
 create_xconsole() {
   if [ ! -e /dev/xconsole ]
   then
@@ -60,8 +72,15 @@

 syslogng_start() {
     log_daemon_msg "Starting system logging" "$NAME"
-    start-stop-daemon --start --quiet --exec "$SYSLOGNG" \
-                      --pidfile "$PIDFILE" -- -p "$PIDFILE"
+
+    # Do we have a chroot jail set?
+    if [ -z "$SYSLOGNG_CHROOT" ]; then
+        start-stop-daemon --start --quiet --exec "$SYSLOGNG" \
+ --pidfile "$PIDFILE" -- $SYSLOGNG_OPTIONS -p "$PIDFILE"
+    else
+        start-stop-daemon --start --quiet --exec "$SYSLOGNG" \
+ --pidfile "$PIDFILE" -- $SYSLOGNG_OPTIONS -p "$PIDFILE" -C "$SYSLOGNG_CHROOT"
+    fi
     RET="$?"
     log_end_msg $RET
     return $RET




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to