287e009514
When syncing with the FreeBSD man page the audit missed this option. The man page should detail what the daemon does, even though in this case it would've been nice to have the FreeBSD behahvior for -v. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
535 lines
14 KiB
Groff
535 lines
14 KiB
Groff
.\" -*- nroff -*-
|
|
.\" Copyright (c) 1983, 1986, 1991, 1993
|
|
.\" The Regents of the University of California.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)syslogd.8 8.1 (Berkeley) 6/6/93
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd May 5, 2021
|
|
.Dt SYSLOGD 8
|
|
.Os sysklogd
|
|
.Sh NAME
|
|
.Nm syslogd
|
|
.Nd log systems messages
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl ?46AdFknsTv
|
|
.Op Fl a Ar addr[/len][:port]
|
|
.Op Fl a Ar name[:port]
|
|
.Op Fl b Ar addr[:port]
|
|
.Op Fl b Ar :port
|
|
.Op Fl f Ar file
|
|
.Op Fl m Ar interval
|
|
.Op Fl P Ar file
|
|
.Op Fl p Ar sock
|
|
.Op Fl r Ar size[:count]
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
utility reads and logs messages to the system console, log files, other
|
|
machines and/or users as specified by its configuration file.
|
|
.Pp
|
|
.Nm
|
|
support RFC3164 and RFC5424 style log messages for both local and remote
|
|
logging using Internet and UNIX domain sockets. Differences in style is
|
|
shown below.
|
|
.Pp
|
|
.Bl -tag -compact -width "RFC3164:"
|
|
.It Sy RFC3164:
|
|
.Li Aug 24 05:14:15 192.0.2.1 myproc[8710]: Kilroy was here.
|
|
.It Sy RFC5424:
|
|
.Li 2003-08-24T05:14:15.000003-07:00 192.0.2.1 myproc 8710 - - Kilroy was here.
|
|
.El
|
|
.Pp
|
|
Note, for remote logging the messages are prefixed with
|
|
.Ql <PRI>
|
|
or
|
|
.Ql <PRI>1 ,
|
|
respectively.
|
|
.Pp
|
|
.Nm
|
|
is derived from BSD sources, today
|
|
.Fx
|
|
is the reference for
|
|
.Nm
|
|
and
|
|
.Nx
|
|
for the new
|
|
.Xr syslogp 3
|
|
API, which fully supports the new features of RFC5424. Please note; 1)
|
|
the intention is to follow standard BSD
|
|
.Nm
|
|
behavior, 2) despite having a stand-alone
|
|
.Xr syslog 3 ,
|
|
and
|
|
.Xr syslogp 3
|
|
API in libsyslog,
|
|
.Nm
|
|
interacts transparently with the standard C library
|
|
.Xr syslog 3
|
|
API, as implemented in GLIBC, musl libc, and uClibc.
|
|
.Pp
|
|
When
|
|
.Nm
|
|
starts up it reads its main configuration file
|
|
.Pa /etc/syslog.conf ,
|
|
or an alternate file given with the
|
|
.Fl f Ar file
|
|
option. For details on how to configure syslog priority
|
|
(facility.severity) filtering, see
|
|
.Xr syslog.conf 5 .
|
|
.Sh OPTIONS
|
|
By default,
|
|
.Nm
|
|
reads messages from the
|
|
.Ux
|
|
domain socket
|
|
.Pa /dev/log ,
|
|
from an Internet domain socket specified in
|
|
.Pa /etc/services ,
|
|
and from
|
|
.Pa /dev/kmsg
|
|
.Pq to read kernel messages .
|
|
The command line options defined below can be used to change this
|
|
behavior.
|
|
.Pp
|
|
The options are as follows:
|
|
.Bl -tag -width indent
|
|
.It Fl 4
|
|
Force
|
|
.Nm
|
|
to use IPv4 addresses only.
|
|
.It Fl 6
|
|
Force
|
|
.Nm
|
|
to use IPv6 addresses only.
|
|
.It Fl A
|
|
Ordinarily,
|
|
.Nm
|
|
tries to send the message to only one address
|
|
even if the host has more than one A or AAAA record.
|
|
If this option is specified,
|
|
.Nm
|
|
tries to send the message to all addresses.
|
|
.It Fl a Ar address[/len][:service] | Fl a Ar domainname[:service]
|
|
Allow peers to log to this syslogd using UDP datagrams. Multiple
|
|
.Fl a
|
|
options may be specified. Any
|
|
.Fl a
|
|
option is ignored if the
|
|
.Fl s
|
|
option is also specified.
|
|
.Pp
|
|
The peer argument may be any of the following:
|
|
.Bl -tag -width 'address[/len][:service]'
|
|
.It Ql address[/len][:service]
|
|
Accept datagrams from IP
|
|
.Ar address ,
|
|
which can be specified as an IPv4 address or as an IPv6 address enclosed
|
|
with
|
|
.Sq \&[
|
|
and
|
|
.Sq \&] .
|
|
If specified, service is the name or port number of an UDP service (see
|
|
.Xr services 5 )
|
|
the source packet must belong to. A service of
|
|
.Ql *
|
|
accepts UDP packets from any source port. The default service is
|
|
.Ql syslog .
|
|
If
|
|
.Ar address
|
|
is an IPv4 address, a missing prefix
|
|
.Ar len
|
|
will be substituted by the historic class A or class B netmasks if
|
|
.Ar address
|
|
belongs in the address range of class A or B, respectively, or by'
|
|
.Ar /24
|
|
otherwise. If
|
|
.Ar address
|
|
is an IPv6 address, a missing prefix
|
|
.Ar len
|
|
will be substituted by 128.
|
|
.It Ql domainname[:service]
|
|
Accept datagrams where the reverse address lookup yields
|
|
.Ar domainname
|
|
for the sender address. The meaning of
|
|
.Ar service
|
|
is as explained above.
|
|
.Ar domainname
|
|
can contain special characters of a shell-style pattern such as
|
|
.Ql * .
|
|
.El
|
|
.It Xo
|
|
.Fl b
|
|
.Sm off
|
|
.Ar address Op \&: Ar service
|
|
.Sm on
|
|
.Xc
|
|
.It Xo
|
|
.Fl b
|
|
.Sm off
|
|
.Li \&: Ar service
|
|
.Sm on
|
|
.Xc
|
|
Bind to a specific address and/or port.
|
|
The address can be specified as a hostname,
|
|
and the port as a service name.
|
|
If an IPv6 address is specified, it should be enclosed with
|
|
.Ql \&[
|
|
and
|
|
.Ql \&] .
|
|
The default
|
|
.Ar service
|
|
is
|
|
.Ql syslog .
|
|
This option can be specified multiple times to bind to
|
|
multiple addresses and/or ports.
|
|
.It Fl d
|
|
Put
|
|
.Nm
|
|
into debugging mode.
|
|
This is probably only of use to developers working on
|
|
.Nm .
|
|
See the
|
|
.Sx DEBUGGING
|
|
section for more information.
|
|
.It Fl f Ar file
|
|
Specify the path name of an alternate configuration file;
|
|
the default is
|
|
.Pa /etc/syslog.conf .
|
|
.It Fl F
|
|
Run
|
|
.Nm
|
|
in the foreground,
|
|
rather than going into daemon mode.
|
|
This is useful if some other process uses
|
|
.Xr fork 2
|
|
and
|
|
.Xr exec 3
|
|
to run
|
|
.Nm ,
|
|
and wants to monitor when and how it exits.
|
|
.It Fl k
|
|
Disable the translation of
|
|
messages received with facility
|
|
.Dq kern
|
|
to facility
|
|
.Dq user .
|
|
Usually the
|
|
.Dq kern
|
|
facility is reserved for messages read directly from
|
|
.Pa /dev/kmsg .
|
|
.It Fl m Ar interval
|
|
Select the number of minutes between
|
|
.Dq mark
|
|
messages; the default is 20 minutes. Setting this to zero disables log
|
|
marks.
|
|
.It Fl n
|
|
Disable DNS query for every request.
|
|
.It Fl p Ar socket
|
|
Specify the path name of an alternate log socket to be used instead;
|
|
the default is
|
|
.Pa /dev/log .
|
|
When a single
|
|
.Fl p
|
|
option is specified, the default path name is replaced with the
|
|
specified one. When two or more
|
|
.Fl p
|
|
options are specified, the remaining path names are treated as
|
|
additional log sockets.
|
|
.It Fl P Ar file
|
|
Specify an alternative file in which to store the process ID.
|
|
The default is
|
|
.Pa /var/run/syslogd.pid .
|
|
.It Fl r Ar size[:count]
|
|
Enable built-in support for log rotation of files listed in
|
|
.Pa /etc/syslog.conf .
|
|
This feature is particularly useful for small and embedded systems that
|
|
do not want the overhead of
|
|
.Xr cron 8
|
|
and
|
|
.Xr logrotate 8 .
|
|
.Pp
|
|
The option controls the max size and number of backup files kept by the
|
|
built-in log-rotation. When present on the command line it activates
|
|
log rotation of all files with the given maximum size. It is also
|
|
possible to control log rotate per log file, see
|
|
.Xr syslog.conf 5
|
|
for details.
|
|
.Pp
|
|
The size argument takes optional modifiers; k, M, G. E.g., 100M is
|
|
100 MiB, 42k is 42 kiB, etc.
|
|
.Pp
|
|
The optional number of files kept include both gzipped files and the
|
|
first rotated (not zipped) file. The default for this, when omitted,
|
|
is 5.
|
|
.It Fl s
|
|
Operate in secure mode. Do not log messages from remote machines. If
|
|
specified twice, no network socket will be opened at all, which also
|
|
disables logging to remote machines.
|
|
.It Fl T
|
|
Always use the local time and date for messages received from the network,
|
|
instead of the timestamp field supplied in the message by the remote host.
|
|
This is useful if some of the originating hosts cannot keep time properly
|
|
or are unable to generate a correct timestamp.
|
|
.It Fl v
|
|
Show program version and exit.
|
|
.El
|
|
.Pp
|
|
The
|
|
.Nm
|
|
utility reads its configuration file when it starts up and whenever it
|
|
receives a hangup signal.
|
|
For information on the format of the configuration file,
|
|
see
|
|
.Xr syslog.conf 5 .
|
|
.Pp
|
|
The
|
|
.Nm
|
|
utility creates its process ID file,
|
|
by default
|
|
.Pa /var/run/syslogd.pid ,
|
|
and stores its process ID there. This can be used to kill or
|
|
reconfigure
|
|
.Nm .
|
|
.Pp
|
|
The message sent to
|
|
.Nm
|
|
should consist of a single line. The message can contain a priority
|
|
code, which should be a preceding decimal number in angle braces, for
|
|
example,
|
|
.Sq Aq 5 .
|
|
This priority code should map into the priorities defined in the
|
|
include file
|
|
.In sys/syslog.h .
|
|
To log with RFC5424 style messages the priority code must be directly
|
|
followed by the version number, this is all handled by libsyslog, which
|
|
is the
|
|
.Nx
|
|
.Xr syslogp 3
|
|
API included with the
|
|
.Nm sysklogd
|
|
project.
|
|
.Pp
|
|
The date and time are taken from the received message. If the format of
|
|
the timestamp field is incorrect, time obtained from the local host is
|
|
used instead. This can be overridden by the
|
|
.Fl T
|
|
flag.
|
|
.Sh SECURITY
|
|
There are a number of methods of protecting a machine:
|
|
.Bl -enum
|
|
.It
|
|
Disabling inet domain sockets will limit risk to the local machine. Use
|
|
the secure mode flag
|
|
.Fl s
|
|
for this.
|
|
.It
|
|
When secure mode cannot be used, only allow certain remote peers using
|
|
the
|
|
.Fl a Ar PEER
|
|
flag.
|
|
.It
|
|
Implement kernel firewalling to limit which hosts or networks have
|
|
access to the 514/UDP socket.
|
|
.It
|
|
Logging can be directed to an isolated or non-root filesystem which,
|
|
if filled, will not impair the machine.
|
|
.It
|
|
Most modern UNIX filesystems can be configured to limit a certain
|
|
percentage of a filesystem to usage by root only.
|
|
.El
|
|
.Sh DEBUGGING
|
|
When debug mode
|
|
.Fl ( d )
|
|
is enabled
|
|
.Nm
|
|
only the first
|
|
.Fn init
|
|
is shown.
|
|
.Nm
|
|
then prompts you to send
|
|
.Ar SIGUSR1
|
|
to continue debugging. The output is very verbose and is probably only
|
|
useful to developers.
|
|
.Pp
|
|
When
|
|
.Nm
|
|
receives
|
|
.Ar SIGHUP
|
|
it reloads its configuration file, and at the end of the
|
|
.Fn init
|
|
sequence all log targets are listed with their respective priority per
|
|
facility, the action and the log format used:
|
|
.Pp
|
|
.Bl -tag -width priority
|
|
.It priority
|
|
Bit mapped priorities listed per facility, one priority per facility,
|
|
starting with kernel as the left-most column.
|
|
.It action
|
|
FILE, remote sink (FORW), WALL, etc. See
|
|
.Xr syslog.conf 5
|
|
for details.
|
|
.It args
|
|
The action argument and the log format used. E.g., for FILE actions the
|
|
log filename, for FORW action the remote host:port. The format is one
|
|
of; BSD, RFC5424, or RFC3164. The latter is the default except for FORW
|
|
actions.
|
|
.El
|
|
.Sh SIGNALS
|
|
.Nm
|
|
supports the following signals:
|
|
.Pp
|
|
.Bl -tag -width "TERM, QUIT"
|
|
.It HUP
|
|
This lets
|
|
.Nm
|
|
perform a re-initialization. All open files are closed, the
|
|
configuration file (see above) is reread and the
|
|
.Xr syslog 3
|
|
facility is started again.
|
|
.It TERM
|
|
This tells
|
|
.Nm
|
|
to exit gracefully. Flushing any log files to disk.
|
|
.It INT, QUIT
|
|
In debug mode these are ignored. In normal operation they act as
|
|
SIGTERM.
|
|
.It USR1
|
|
In debug mode this switches debugging on/off. In normal operation
|
|
it is ignored.
|
|
.El
|
|
.Pp
|
|
For convenience the PID is by default stored in
|
|
.Pa /var/run/syslogd.pid .
|
|
A script can look for the existence of this file to determine if
|
|
.Nm
|
|
is running, and then send signals:
|
|
.Bd -literal -offset indent
|
|
kill -SIGNAL `cat /var/run/syslogd.pid`
|
|
.Ed
|
|
.Sh FILES
|
|
.Bl -tag -width /etc/syslog.d/50-default.conf -compact
|
|
.It Pa /etc/syslog.conf
|
|
configuration file. See
|
|
.Xr syslog.conf 5
|
|
for more information.
|
|
.It Pa /etc/syslog.d/*.conf
|
|
conventional sub-directory of
|
|
.Pa .conf
|
|
files read by
|
|
.Nm .
|
|
.It Pa /etc/syslog.d/50-default.conf
|
|
conventional name for default rules.
|
|
.It Pa /var/run/syslogd.pid
|
|
default process ID file
|
|
.It Pa /var/run/syslogd.cache
|
|
cache of last read sequence number from
|
|
.Pa /dev/kmsg
|
|
.It Pa /dev/log
|
|
name of the
|
|
.Ux
|
|
domain datagram log socket
|
|
.It Pa /dev/kmsg
|
|
kernel log device
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr logger 1 ,
|
|
.Xr syslog 3 ,
|
|
.Xr syslogp 3 ,
|
|
.Xr services 5 ,
|
|
.Xr syslog.conf 5 ,
|
|
.Sh HISTORY
|
|
.Nm
|
|
was originally ported to Linux by
|
|
.An Greg Wettstein Aq Mt greg@wind.enjellic.com
|
|
and the project was named
|
|
.Nm sysklogd
|
|
when a separate log daemon,
|
|
.Nm klogd ,
|
|
for Linux kernel messages was added.
|
|
.Pp
|
|
It was the default
|
|
.Nm
|
|
in Debian and Ubuntu, maintained by
|
|
.An Martin Schulze Aq Mt joey@infodrom.org ,
|
|
who fixed some bugs and added several new features. When Debian replaced
|
|
.Nm sysklogd
|
|
with
|
|
.Nm rsyslogd
|
|
the project was abandoned.
|
|
.Pp
|
|
In 2018
|
|
.An Joachim Wiberg Aq Mt troglobit@gmail.com
|
|
picked up maintenance. In 2019 the project was revived with fresh DNA
|
|
strands from both
|
|
.Fx
|
|
and
|
|
.Nx ,
|
|
.Nm klogd
|
|
was removed in v2.1 and the project was then re-licensed under the
|
|
3-clause BSD license, like its brethren.
|
|
.Pp
|
|
The
|
|
.Nm
|
|
utility first appeared in
|
|
.Bx 4.3 .
|
|
.Sh BUGS
|
|
The ability to log messages received in UDP packets is equivalent to an
|
|
unauthenticated remote disk-filling service, and should probably be
|
|
disabled
|
|
.Fl ( s )
|
|
by default. (The shipped systemd unit file disables this by default.)
|
|
See also
|
|
.Sx SECURITY
|
|
for more information on this. A future version of
|
|
.Nm
|
|
may include support for TLS, RFC5425, which includes authentication of
|
|
both senders and receivers. For now there is the
|
|
.Fl a
|
|
option, which is strongly recommended when operating as a remote sink.
|
|
.Pp
|
|
The
|
|
.Fl a
|
|
matching algorithm does not pretend to be very efficient;
|
|
use of numeric IP addresses is faster than domain name comparison.
|
|
Since the allowed peer list is being walked linearly,
|
|
peer groups where frequent messages are being anticipated
|
|
from should be put early into the
|
|
.Fl a
|
|
list.
|
|
.Pp
|
|
As mentioned in the
|
|
.Sx DESCRIPTION ,
|
|
.Nm
|
|
transparently supports the standard C library
|
|
.Xr syslog 3
|
|
API. If a binary linked to the standard C libraries does not operate
|
|
correctly, this should be reported as a bug to the
|
|
.Lk https://github.com/troglobit/sysklogd/issues sysklogd issue tracker
|