rsyslog for Debian ================== Configuration file(s) --------------------- The default configuration file for rsyslog is /etc/rsyslog.conf. Its format is based on the standard syslog.conf format. As rsyslog has a lot more advanced features than sysklogd, it extends this format with special configuration directives which all start with the '$' prefix. See the rsyslogd(8) and rsyslog.conf(5) man pages for further information or install the rsyslog-doc package which provides much more detailed documentation. The Debian default configuration for rsyslog uses: $IncludeConfig /etc/rsyslog.d/*.conf That means, all configuration files in /etc/rsyslog.d/ with a .conf file extension are read by rsyslog. This way the rsyslog configuration can be extended easily (either by package maintainers or local administrators). Log rotation ------------ Rsyslog uses the logrotate(8) utility to rotate the standard Debian log files. The configuration file can be found at /etc/logrotate.d/rsyslog. The rotation cycle starts with .1, as this is the logrotate default. In contrast to sysklogd, which starts with .0. When upgrading from sysklogd, the postinst script will automatically rotate the existing standard Debian log files, if it is safe to do so (i.e. only if .0 is newer than .1). Logging to xconsole ------------------- The default rsyslog configuration no longer forwards any log messages to /dev/xconsole. It is simple to re-enable support for xconsole though. For that, the rsyslog package ships example files in /usr/share/doc/rsyslog/examples. To create the /dev/xconsole pipe, copy examples/tmpfiles.d/xconsole.conf to /etc/tmpfiles.d/ and then run "systemd-tmpfiles --create xconsole.conf". And finally copy examples/rsyslog.d/xconsole.conf to /etc/rsyslog.d/ and restart the rsyslog service. Privilege Separation -------------------- Since version 4.1.1 rsyslog provides the ability to drop privileges after opening the listening socket (see doc/source/configuration/droppriv.rst). This enhances security because the daemon no longer runs as the root user. On Debian however, the systemd service restricts the daemon capabilities and in particular excludes the ability to change user ID. Setting privdrop.user.id or privdrop.group.id in the configuration will cause the service to fail, seemingly without explanation because systemd masks the cause of the problem. To use the drop privilege feature, create an override unit file in /etc/systemd/system/rsyslog.service.d/allow-priv-drop.conf with the following contents: [Service] CapabilityBoundingSet=CAP_SETGID CAP_SETUID (Systemd will merge these with the capabilities listed in the unit file.) Then issue a systemctl daemon-reload to load in the override.