1*3e07920fSDavid van Moolenbroek.\" $NetBSD: syslog.conf.5,v 1.21 2013/11/10 00:13:50 wiz Exp $ 2*3e07920fSDavid van Moolenbroek.\" 3*3e07920fSDavid van Moolenbroek.\" Copyright (c) 1990, 1991, 1993 4*3e07920fSDavid van Moolenbroek.\" The Regents of the University of California. All rights reserved. 5*3e07920fSDavid van Moolenbroek.\" 6*3e07920fSDavid van Moolenbroek.\" Redistribution and use in source and binary forms, with or without 7*3e07920fSDavid van Moolenbroek.\" modification, are permitted provided that the following conditions 8*3e07920fSDavid van Moolenbroek.\" are met: 9*3e07920fSDavid van Moolenbroek.\" 1. Redistributions of source code must retain the above copyright 10*3e07920fSDavid van Moolenbroek.\" notice, this list of conditions and the following disclaimer. 11*3e07920fSDavid van Moolenbroek.\" 2. Redistributions in binary form must reproduce the above copyright 12*3e07920fSDavid van Moolenbroek.\" notice, this list of conditions and the following disclaimer in the 13*3e07920fSDavid van Moolenbroek.\" documentation and/or other materials provided with the distribution. 14*3e07920fSDavid van Moolenbroek.\" 3. Neither the name of the University nor the names of its contributors 15*3e07920fSDavid van Moolenbroek.\" may be used to endorse or promote products derived from this software 16*3e07920fSDavid van Moolenbroek.\" without specific prior written permission. 17*3e07920fSDavid van Moolenbroek.\" 18*3e07920fSDavid van Moolenbroek.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 19*3e07920fSDavid van Moolenbroek.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20*3e07920fSDavid van Moolenbroek.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21*3e07920fSDavid van Moolenbroek.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 22*3e07920fSDavid van Moolenbroek.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23*3e07920fSDavid van Moolenbroek.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24*3e07920fSDavid van Moolenbroek.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25*3e07920fSDavid van Moolenbroek.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26*3e07920fSDavid van Moolenbroek.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27*3e07920fSDavid van Moolenbroek.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28*3e07920fSDavid van Moolenbroek.\" SUCH DAMAGE. 29*3e07920fSDavid van Moolenbroek.\" 30*3e07920fSDavid van Moolenbroek.\" from: @(#)syslog.conf.5 8.1 (Berkeley) 6/9/93 31*3e07920fSDavid van Moolenbroek.\" 32*3e07920fSDavid van Moolenbroek.Dd November 9, 2013 33*3e07920fSDavid van Moolenbroek.Dt SYSLOG.CONF 5 34*3e07920fSDavid van Moolenbroek.Os 35*3e07920fSDavid van Moolenbroek.Sh NAME 36*3e07920fSDavid van Moolenbroek.Nm syslog.conf 37*3e07920fSDavid van Moolenbroek.Nd 38*3e07920fSDavid van Moolenbroek.Xr syslogd 8 39*3e07920fSDavid van Moolenbroekconfiguration file 40*3e07920fSDavid van Moolenbroek.Sh DESCRIPTION 41*3e07920fSDavid van MoolenbroekThe 42*3e07920fSDavid van Moolenbroek.Nm 43*3e07920fSDavid van Moolenbroekfile is the configuration file for the 44*3e07920fSDavid van Moolenbroek.Xr syslogd 8 45*3e07920fSDavid van Moolenbroekprogram. 46*3e07920fSDavid van MoolenbroekIt consists of extended options (lines with one key="value" assignment) 47*3e07920fSDavid van Moolenbroekand blocks of lines separated by 48*3e07920fSDavid van Moolenbroek.Em program 49*3e07920fSDavid van Moolenbroekand 50*3e07920fSDavid van Moolenbroek.Em hostname 51*3e07920fSDavid van Moolenbroekspecifications, with each line containing two fields: the 52*3e07920fSDavid van Moolenbroek.Em selector 53*3e07920fSDavid van Moolenbroekfield which specifies the types of messages and priorities to which the 54*3e07920fSDavid van Moolenbroekline applies, and an 55*3e07920fSDavid van Moolenbroek.Em action 56*3e07920fSDavid van Moolenbroekfield which specifies the action to be taken if a message 57*3e07920fSDavid van Moolenbroek.Xr syslogd 8 58*3e07920fSDavid van Moolenbroekreceives matches the selection criteria. 59*3e07920fSDavid van MoolenbroekThe 60*3e07920fSDavid van Moolenbroek.Em selector 61*3e07920fSDavid van Moolenbroekfield is separated from the 62*3e07920fSDavid van Moolenbroek.Em action 63*3e07920fSDavid van Moolenbroekfield by one or more tab characters. 64*3e07920fSDavid van Moolenbroek.Pp 65*3e07920fSDavid van MoolenbroekThe 66*3e07920fSDavid van Moolenbroek.Em Selectors 67*3e07920fSDavid van Moolenbroekfunction 68*3e07920fSDavid van Moolenbroekare encoded as a 69*3e07920fSDavid van Moolenbroek.Em facility , 70*3e07920fSDavid van Moolenbroeka period 71*3e07920fSDavid van Moolenbroek.Pq Sq \&. , 72*3e07920fSDavid van Moolenbroekan optional set of comparison flags 73*3e07920fSDavid van Moolenbroek.Pq Bo ! Bc Bq \*[Lt]=\*[Gt] , 74*3e07920fSDavid van Moolenbroekand a 75*3e07920fSDavid van Moolenbroek.Em level , 76*3e07920fSDavid van Moolenbroekwith no intervening white-space. 77*3e07920fSDavid van MoolenbroekBoth the 78*3e07920fSDavid van Moolenbroek.Em facility 79*3e07920fSDavid van Moolenbroekand the 80*3e07920fSDavid van Moolenbroek.Em level 81*3e07920fSDavid van Moolenbroekare case insensitive. 82*3e07920fSDavid van Moolenbroek.Pp 83*3e07920fSDavid van MoolenbroekThe 84*3e07920fSDavid van Moolenbroek.Em facility 85*3e07920fSDavid van Moolenbroekdescribes the part of the system generating the message, and is one of 86*3e07920fSDavid van Moolenbroekthe following keywords: auth, authpriv, cron, ftp, daemon, kern, lpr, 87*3e07920fSDavid van Moolenbroekmail, mark, news, syslog, user, uucp and local0 through local7. 88*3e07920fSDavid van MoolenbroekThese keywords (with the exception of mark) correspond to the 89*3e07920fSDavid van Moolenbroeksimilar 90*3e07920fSDavid van Moolenbroek.Dq Dv LOG_ 91*3e07920fSDavid van Moolenbroekvalues specified to the 92*3e07920fSDavid van Moolenbroek.Xr openlog 3 93*3e07920fSDavid van Moolenbroekand 94*3e07920fSDavid van Moolenbroek.Xr syslog 3 95*3e07920fSDavid van Moolenbroeklibrary routines. 96*3e07920fSDavid van Moolenbroek.Pp 97*3e07920fSDavid van MoolenbroekThe 98*3e07920fSDavid van Moolenbroek.Em comparison flags 99*3e07920fSDavid van Moolenbroekmay be used to specify exactly what levels are logged. 100*3e07920fSDavid van MoolenbroekIf unspecified, the default comparison is 101*3e07920fSDavid van Moolenbroek.Sq \*[Gt]= 102*3e07920fSDavid van Moolenbroek.Pq greater than or equal to , 103*3e07920fSDavid van Moolenbroekor, if the 104*3e07920fSDavid van Moolenbroek.Fl U 105*3e07920fSDavid van Moolenbroekoption is passed to 106*3e07920fSDavid van Moolenbroek.Xr syslogd 8 , 107*3e07920fSDavid van Moolenbroek.Sq = 108*3e07920fSDavid van Moolenbroek.Pq equal to . 109*3e07920fSDavid van MoolenbroekComparison flags beginning with 110*3e07920fSDavid van Moolenbroek.So ! Sc 111*3e07920fSDavid van Moolenbroekwill have their logical sense inverted. 112*3e07920fSDavid van MoolenbroekThus, 113*3e07920fSDavid van Moolenbroek.Sq !=info 114*3e07920fSDavid van Moolenbroekmeans all levels except info and 115*3e07920fSDavid van Moolenbroek.Sq !notice 116*3e07920fSDavid van Moolenbroekhas the same meaning as 117*3e07920fSDavid van Moolenbroek.Sq \*[Lt]notice . 118*3e07920fSDavid van Moolenbroek.Pp 119*3e07920fSDavid van MoolenbroekThe 120*3e07920fSDavid van Moolenbroek.Em level 121*3e07920fSDavid van Moolenbroekdescribes the severity of the message, and is a keyword from the 122*3e07920fSDavid van Moolenbroekfollowing ordered list (higher to lower): emerg, alert, crit, err, 123*3e07920fSDavid van Moolenbroekwarning, notice, info and debug. 124*3e07920fSDavid van MoolenbroekThese keywords correspond to the 125*3e07920fSDavid van Moolenbroeksimilar 126*3e07920fSDavid van Moolenbroek.Pq Dv LOG_ 127*3e07920fSDavid van Moolenbroekvalues specified to the 128*3e07920fSDavid van Moolenbroek.Xr syslog 3 129*3e07920fSDavid van Moolenbroeklibrary routine. 130*3e07920fSDavid van Moolenbroek.Pp 131*3e07920fSDavid van MoolenbroekEach block of lines is separated from the previous block by a 132*3e07920fSDavid van Moolenbroek.Em program 133*3e07920fSDavid van Moolenbroekor 134*3e07920fSDavid van Moolenbroek.Em hostname 135*3e07920fSDavid van Moolenbroekspecification. 136*3e07920fSDavid van MoolenbroekA block will only log messages corresponding to the most recent 137*3e07920fSDavid van Moolenbroek.Em program 138*3e07920fSDavid van Moolenbroekand 139*3e07920fSDavid van Moolenbroek.Em hostname 140*3e07920fSDavid van Moolenbroekspecifications given. 141*3e07920fSDavid van MoolenbroekConsider the case of a block that selects 142*3e07920fSDavid van Moolenbroek.Ql pppd 143*3e07920fSDavid van Moolenbroekas the 144*3e07920fSDavid van Moolenbroek.Em program , 145*3e07920fSDavid van Moolenbroekdirectly followed by a block that selects messages from the 146*3e07920fSDavid van Moolenbroek.Em hostname 147*3e07920fSDavid van Moolenbroek.Ql dialhost . 148*3e07920fSDavid van MoolenbroekThe second block will log only messages from the 149*3e07920fSDavid van Moolenbroek.Xr pppd 8 150*3e07920fSDavid van Moolenbroekprogram from the host 151*3e07920fSDavid van Moolenbroek.Sq dialhost . 152*3e07920fSDavid van Moolenbroek.Pp 153*3e07920fSDavid van MoolenbroekA 154*3e07920fSDavid van Moolenbroek.Em program 155*3e07920fSDavid van Moolenbroekspecification of the form 156*3e07920fSDavid van Moolenbroek.Ql #!+prog1,prog2 157*3e07920fSDavid van Moolenbroekor 158*3e07920fSDavid van Moolenbroek.Ql !+prog1,prog2 159*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to be applied to messages logged by the 160*3e07920fSDavid van Moolenbroekspecified programs. 161*3e07920fSDavid van MoolenbroekA 162*3e07920fSDavid van Moolenbroek.Em program 163*3e07920fSDavid van Moolenbroekspecification of the form 164*3e07920fSDavid van Moolenbroek.Ql #!-prog1,prog2 165*3e07920fSDavid van Moolenbroekor 166*3e07920fSDavid van Moolenbroek.Ql !-prog1,prog2 167*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to be applied to messages logged by programs 168*3e07920fSDavid van Moolenbroekother than the ones specified. 169*3e07920fSDavid van MoolenbroekA 170*3e07920fSDavid van Moolenbroek.Em program 171*3e07920fSDavid van Moolenbroekspecification of the form 172*3e07920fSDavid van Moolenbroek.Ql #!prog1,prog2 173*3e07920fSDavid van Moolenbroekor 174*3e07920fSDavid van Moolenbroek.Ql !prog1,prog2 175*3e07920fSDavid van Moolenbroekis equivalent to 176*3e07920fSDavid van Moolenbroek.Ql !+prog1,prog2 . 177*3e07920fSDavid van MoolenbroekProgram selectors may also match kernel-generated messages. 178*3e07920fSDavid van MoolenbroekFor example, a program specification of 179*3e07920fSDavid van Moolenbroek.Ql !+subsys 180*3e07920fSDavid van Moolenbroekwill match kernel-generated messages of the form 181*3e07920fSDavid van Moolenbroek.Ql subsys: here is a message . 182*3e07920fSDavid van MoolenbroekThe special specification 183*3e07920fSDavid van Moolenbroek.Ql !* 184*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to apply to all programs. 185*3e07920fSDavid van Moolenbroek.Pp 186*3e07920fSDavid van MoolenbroekA 187*3e07920fSDavid van Moolenbroek.Em hostname 188*3e07920fSDavid van Moolenbroekspecification of the form 189*3e07920fSDavid van Moolenbroek.Ql #+host1,host2 190*3e07920fSDavid van Moolenbroekor 191*3e07920fSDavid van Moolenbroek.Ql +host1,host2 192*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to be applied to messages received from 193*3e07920fSDavid van Moolenbroekthe specified hosts. 194*3e07920fSDavid van MoolenbroekA 195*3e07920fSDavid van Moolenbroek.Em hostname 196*3e07920fSDavid van Moolenbroekspecification of the form 197*3e07920fSDavid van Moolenbroek.Ql #-host1,host2 198*3e07920fSDavid van Moolenbroekor 199*3e07920fSDavid van Moolenbroek.Ql -host1,host2 200*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to be applied to messages from hosts other 201*3e07920fSDavid van Moolenbroekthan the ones specified. 202*3e07920fSDavid van MoolenbroekIf the hostname is given as 203*3e07920fSDavid van Moolenbroek.Ql @ , 204*3e07920fSDavid van Moolenbroekthe local hostname will be used. 205*3e07920fSDavid van MoolenbroekThe special specification 206*3e07920fSDavid van Moolenbroek.Ql +* 207*3e07920fSDavid van Moolenbroekwill cause subsequent blocks to apply to all hosts. 208*3e07920fSDavid van Moolenbroek.Pp 209*3e07920fSDavid van MoolenbroekSee 210*3e07920fSDavid van Moolenbroek.Xr syslog 3 211*3e07920fSDavid van Moolenbroekfor a further descriptions of both the 212*3e07920fSDavid van Moolenbroek.Em facility 213*3e07920fSDavid van Moolenbroekand 214*3e07920fSDavid van Moolenbroek.Em level 215*3e07920fSDavid van Moolenbroekkeywords and their significance. 216*3e07920fSDavid van MoolenbroekIt is preferred that selections be made based on 217*3e07920fSDavid van Moolenbroek.Em facility 218*3e07920fSDavid van Moolenbroekrather than 219*3e07920fSDavid van Moolenbroek.Em program , 220*3e07920fSDavid van Moolenbroeksince the latter can vary in a networked environment. 221*3e07920fSDavid van MoolenbroekHowever, there are cases where a 222*3e07920fSDavid van Moolenbroek.Em facility 223*3e07920fSDavid van Moolenbroekmay be too broadly defined. 224*3e07920fSDavid van Moolenbroek.Pp 225*3e07920fSDavid van MoolenbroekIf a received message matches the specified 226*3e07920fSDavid van Moolenbroek.Em facility , 227*3e07920fSDavid van Moolenbroekand the specified 228*3e07920fSDavid van Moolenbroek.Em level 229*3e07920fSDavid van Moolenbroekcomparison is true, 230*3e07920fSDavid van Moolenbroekand the first word in the message after the date matches the 231*3e07920fSDavid van Moolenbroek.Em program , 232*3e07920fSDavid van Moolenbroekthe action specified in the 233*3e07920fSDavid van Moolenbroek.Em action 234*3e07920fSDavid van Moolenbroekfield will be taken. 235*3e07920fSDavid van Moolenbroek.Pp 236*3e07920fSDavid van MoolenbroekMultiple 237*3e07920fSDavid van Moolenbroek.Em selectors 238*3e07920fSDavid van Moolenbroekmay be specified for a single 239*3e07920fSDavid van Moolenbroek.Em action 240*3e07920fSDavid van Moolenbroekby separating them with semicolon 241*3e07920fSDavid van Moolenbroek.Pq Sq \&; 242*3e07920fSDavid van Moolenbroekcharacters. 243*3e07920fSDavid van MoolenbroekIt is important to note, however, that each 244*3e07920fSDavid van Moolenbroek.Em selector 245*3e07920fSDavid van Moolenbroekcan modify the ones preceding it. 246*3e07920fSDavid van Moolenbroek.Pp 247*3e07920fSDavid van MoolenbroekMultiple 248*3e07920fSDavid van Moolenbroek.Em facilities 249*3e07920fSDavid van Moolenbroekmay be specified for a single 250*3e07920fSDavid van Moolenbroek.Em level 251*3e07920fSDavid van Moolenbroekby separating them with comma 252*3e07920fSDavid van Moolenbroek.Pq Sq \&, 253*3e07920fSDavid van Moolenbroekcharacters. 254*3e07920fSDavid van Moolenbroek.Pp 255*3e07920fSDavid van MoolenbroekAn asterisk 256*3e07920fSDavid van Moolenbroek.Pq Sq \&* 257*3e07920fSDavid van Moolenbroekcan be used to specify all 258*3e07920fSDavid van Moolenbroek.Em facilities 259*3e07920fSDavid van Moolenbroekor all 260*3e07920fSDavid van Moolenbroek.Em levels . 261*3e07920fSDavid van Moolenbroek.Pp 262*3e07920fSDavid van MoolenbroekThe special 263*3e07920fSDavid van Moolenbroek.Em facility 264*3e07920fSDavid van Moolenbroek.Dq mark 265*3e07920fSDavid van Moolenbroekreceives a message at priority 266*3e07920fSDavid van Moolenbroek.Dq info 267*3e07920fSDavid van Moolenbroekevery 20 minutes 268*3e07920fSDavid van Moolenbroek(see 269*3e07920fSDavid van Moolenbroek.Xr syslogd 8 ) . 270*3e07920fSDavid van MoolenbroekThis is not enabled by a 271*3e07920fSDavid van Moolenbroek.Em facility 272*3e07920fSDavid van Moolenbroekfield containing an asterisk. 273*3e07920fSDavid van Moolenbroek.Pp 274*3e07920fSDavid van MoolenbroekThe special 275*3e07920fSDavid van Moolenbroek.Em level 276*3e07920fSDavid van Moolenbroek.Dq none 277*3e07920fSDavid van Moolenbroekdisables a particular 278*3e07920fSDavid van Moolenbroek.Em facility . 279*3e07920fSDavid van Moolenbroek.Pp 280*3e07920fSDavid van MoolenbroekThe 281*3e07920fSDavid van Moolenbroek.Em action 282*3e07920fSDavid van Moolenbroekfield of each line specifies the action to be taken when the 283*3e07920fSDavid van Moolenbroek.Em selector 284*3e07920fSDavid van Moolenbroekfield selects a message. 285*3e07920fSDavid van MoolenbroekThere are five forms: 286*3e07920fSDavid van Moolenbroek.Bl -bullet 287*3e07920fSDavid van Moolenbroek.It 288*3e07920fSDavid van MoolenbroekA pathname (beginning with a leading slash). 289*3e07920fSDavid van MoolenbroekSelected messages are appended to the file, unless 290*3e07920fSDavid van Moolenbroekpathname points to an existing FIFO special file. 291*3e07920fSDavid van Moolenbroek.Xr syslogd 8 292*3e07920fSDavid van Moolenbroektreats FIFO specially by opening them in non-blocking mode and 293*3e07920fSDavid van Moolenbroekdiscarding messages sent when no reader is listening on the other side. 294*3e07920fSDavid van Moolenbroek.Pp 295*3e07920fSDavid van MoolenbroekTo ensure that kernel messages are written to disk promptly, 296*3e07920fSDavid van Moolenbroek.Xr syslogd 8 297*3e07920fSDavid van Moolenbroekcalls 298*3e07920fSDavid van Moolenbroek.Xr fsync 2 299*3e07920fSDavid van Moolenbroekafter writing messages from the kernel. 300*3e07920fSDavid van MoolenbroekOther messages are not synced explcitly. 301*3e07920fSDavid van MoolenbroekYou may disable syncing of files specified to receive kernel messages 302*3e07920fSDavid van Moolenbroekby prefixing the pathname with a minus sign 303*3e07920fSDavid van Moolenbroek.Ql - . 304*3e07920fSDavid van MoolenbroekNote that use of this option may cause the loss of log information in 305*3e07920fSDavid van Moolenbroekthe event of a system crash immediately following the write attempt. 306*3e07920fSDavid van MoolenbroekHowever, using this option may prove to be useful if your system's 307*3e07920fSDavid van Moolenbroekkernel is logging many messages. 308*3e07920fSDavid van Moolenbroek.Pp 309*3e07920fSDavid van MoolenbroekNormally the priority and version is not written to file. 310*3e07920fSDavid van MoolenbroekIn order to use syslog-sign you may prefix a pathname with the plus sign 311*3e07920fSDavid van Moolenbroek.Ql + . 312*3e07920fSDavid van MoolenbroekIf both switches are used the order has to be 313*3e07920fSDavid van Moolenbroek.Ql +- . 314*3e07920fSDavid van Moolenbroek.It 315*3e07920fSDavid van MoolenbroekA hostname (preceded by an at 316*3e07920fSDavid van Moolenbroek.Pq Sq @ 317*3e07920fSDavid van Moolenbroeksign). 318*3e07920fSDavid van MoolenbroekSelected messages are forwarded to the 319*3e07920fSDavid van Moolenbroek.Xr syslogd 8 320*3e07920fSDavid van Moolenbroekprogram on the named host with UDP. 321*3e07920fSDavid van Moolenbroek.It 322*3e07920fSDavid van MoolenbroekA hostname preceded by an at 323*3e07920fSDavid van Moolenbroek.Pq Sq @ 324*3e07920fSDavid van Moolenbroeksign and enclosed in brackets 325*3e07920fSDavid van Moolenbroek.Pq Sq [] 326*3e07920fSDavid van Moolenbroek. 327*3e07920fSDavid van MoolenbroekSelected messages are forwarded with TLS to the 328*3e07920fSDavid van Moolenbroek.Xr syslogd 8 329*3e07920fSDavid van Moolenbroekprogram on the named host. 330*3e07920fSDavid van MoolenbroekAfter the closing bracket a colon 331*3e07920fSDavid van Moolenbroek.Pq Sq \&: 332*3e07920fSDavid van Moolenbroekand a port or service name may be appended. 333*3e07920fSDavid van MoolenbroekAdditional options are configured in parantheses in the form of key="value". 334*3e07920fSDavid van MoolenbroekRecognized keywords are 335*3e07920fSDavid van Moolenbroek.Ar subject , 336*3e07920fSDavid van Moolenbroek.Ar fingerprint , 337*3e07920fSDavid van Moolenbroek.Ar cert , 338*3e07920fSDavid van Moolenbroekand 339*3e07920fSDavid van Moolenbroek.Ar verify . 340*3e07920fSDavid van Moolenbroek.It 341*3e07920fSDavid van MoolenbroekA comma separated list of users. 342*3e07920fSDavid van MoolenbroekSelected messages are written to those users 343*3e07920fSDavid van Moolenbroekif they are logged in. 344*3e07920fSDavid van Moolenbroek.It 345*3e07920fSDavid van MoolenbroekAn asterisk. 346*3e07920fSDavid van MoolenbroekSelected messages are written to all logged-in users. 347*3e07920fSDavid van Moolenbroek.It 348*3e07920fSDavid van MoolenbroekA vertical bar 349*3e07920fSDavid van Moolenbroek.Pq Sq | 350*3e07920fSDavid van Moolenbroekfollowed by a command to which to pipe the selected messages. 351*3e07920fSDavid van MoolenbroekThe command string is passed to 352*3e07920fSDavid van Moolenbroek.Pa /bin/sh 353*3e07920fSDavid van Moolenbroekfor evaluation, so the usual shell metacharacters or input/output 354*3e07920fSDavid van Moolenbroekredirection can occur. 355*3e07920fSDavid van Moolenbroek(Note that redirecting 356*3e07920fSDavid van Moolenbroek.Xr stdio 3 357*3e07920fSDavid van Moolenbroekbuffered output from the invoked command can cause additional delays, 358*3e07920fSDavid van Moolenbroekor even lost output data in case a logging subprocess exits with a 359*3e07920fSDavid van Moolenbroeksignal.) 360*3e07920fSDavid van MoolenbroekThe command itself runs with 361*3e07920fSDavid van Moolenbroek.Em stdout 362*3e07920fSDavid van Moolenbroekand 363*3e07920fSDavid van Moolenbroek.Em stderr 364*3e07920fSDavid van Moolenbroekredirected to 365*3e07920fSDavid van Moolenbroek.Pa /dev/null . 366*3e07920fSDavid van MoolenbroekUpon receipt of a 367*3e07920fSDavid van Moolenbroek.Dv SIGHUP , 368*3e07920fSDavid van Moolenbroek.Xr syslogd 8 369*3e07920fSDavid van Moolenbroekwill close the pipe to the process. 370*3e07920fSDavid van MoolenbroekIf the process does not exit voluntarily, it will be sent a 371*3e07920fSDavid van Moolenbroek.Dv SIGTERM 372*3e07920fSDavid van Moolenbroeksignal after a grace period of up to 60 seconds. 373*3e07920fSDavid van Moolenbroek.Pp 374*3e07920fSDavid van MoolenbroekThe command will only be started once data arrives that should be 375*3e07920fSDavid van Moolenbroekpiped to it. 376*3e07920fSDavid van MoolenbroekIf the command exits, it will be restarted as necessary. 377*3e07920fSDavid van Moolenbroek.Pp 378*3e07920fSDavid van MoolenbroekIf it is desired that the subprocess should receive exactly one line of 379*3e07920fSDavid van Moolenbroekinput, this can be achieved by exiting after reading and processing the 380*3e07920fSDavid van Moolenbroeksingle line. 381*3e07920fSDavid van MoolenbroekA wrapper script can be used to achieve this effect, if necessary. 382*3e07920fSDavid van MoolenbroekNote that this method can be very resource-intensive if many log messages 383*3e07920fSDavid van Moolenbroekare being piped through the filter. 384*3e07920fSDavid van Moolenbroek.Pp 385*3e07920fSDavid van MoolenbroekUnless the command is a full pipeline, it may be useful to 386*3e07920fSDavid van Moolenbroekstart the command with 387*3e07920fSDavid van Moolenbroek.Em exec 388*3e07920fSDavid van Moolenbroekso that the invoking shell process does not wait for the command to 389*3e07920fSDavid van Moolenbroekcomplete. 390*3e07920fSDavid van MoolenbroekNote that the command is started with the UID of the 391*3e07920fSDavid van Moolenbroek.Xr syslogd 8 392*3e07920fSDavid van Moolenbroekprocess, normally the superuser. 393*3e07920fSDavid van Moolenbroek.Pp 394*3e07920fSDavid van MoolenbroekJust like with files a plus sign 395*3e07920fSDavid van Moolenbroek.Ql + 396*3e07920fSDavid van Moolenbroekwill leave the priority and version information intact. 397*3e07920fSDavid van Moolenbroek.El 398*3e07920fSDavid van Moolenbroek.Pp 399*3e07920fSDavid van MoolenbroekBlank lines and lines whose first non-blank character is a hash 400*3e07920fSDavid van Moolenbroek.Pq Sq # 401*3e07920fSDavid van Moolenbroekcharacter are ignored. 402*3e07920fSDavid van Moolenbroek.Sh "TLS OPTIONS" 403*3e07920fSDavid van MoolenbroekAdditional options are used for TLS configuration: 404*3e07920fSDavid van Moolenbroek.Bl -ohang 405*3e07920fSDavid van Moolenbroek.It Em tls_server 406*3e07920fSDavid van MoolenbroekEnables TLS server mode. 407*3e07920fSDavid van Moolenbroek.It Em tls_bindport 408*3e07920fSDavid van MoolenbroekService name or port number to bind to. 409*3e07920fSDavid van MoolenbroekDefault is 410*3e07920fSDavid van Moolenbroek.Sq syslog . 411*3e07920fSDavid van Moolenbroek.Em As long as no official port is assigned this option is required 412*3e07920fSDavid van Moolenbroek.Em for TLS servers. 413*3e07920fSDavid van Moolenbroek.It Em tls_bindhost 414*3e07920fSDavid van MoolenbroekHostname or IP to bind to. 415*3e07920fSDavid van Moolenbroek.It Em tls_gen_cert 416*3e07920fSDavid van MoolenbroekAutomatically generate a private key and certificate. 417*3e07920fSDavid van Moolenbroek.It Em tls_key 418*3e07920fSDavid van MoolenbroekFile with private key. 419*3e07920fSDavid van MoolenbroekDefault is 420*3e07920fSDavid van Moolenbroek.Sq /etc/openssl/default.key 421*3e07920fSDavid van Moolenbroek.It Em tls_cert 422*3e07920fSDavid van MoolenbroekFile with certificate to use. 423*3e07920fSDavid van MoolenbroekDefault is 424*3e07920fSDavid van Moolenbroek.Sq /etc/openssl/default.crt 425*3e07920fSDavid van Moolenbroek.It Em tls_ca 426*3e07920fSDavid van MoolenbroekFile with CA certificate to use. 427*3e07920fSDavid van Moolenbroek.It Em tls_cadir 428*3e07920fSDavid van MoolenbroekDirectory containing CA certificates. 429*3e07920fSDavid van Moolenbroek.It Em tls_verify 430*3e07920fSDavid van MoolenbroekIf set to 431*3e07920fSDavid van Moolenbroek.Sq off 432*3e07920fSDavid van Moolenbroekthen certificate authentication is skipped. 433*3e07920fSDavid van Moolenbroek.It Em tls_allow_fingerprints 434*3e07920fSDavid van MoolenbroekList of fingerprints of trusted client certificates. 435*3e07920fSDavid van Moolenbroek.It Em tls_allow_clientcerts 436*3e07920fSDavid van MoolenbroekList of filenames with trusted client certificates. 437*3e07920fSDavid van Moolenbroek.El 438*3e07920fSDavid van Moolenbroek.Sh "TLS AUTHENTICATION" 439*3e07920fSDavid van MoolenbroekOne function of TLS is mutual authentication of client and server. 440*3e07920fSDavid van MoolenbroekUnless authentication is disabled by setting 441*3e07920fSDavid van Moolenbroek.Sq tls_verify=off 442*3e07920fSDavid van Moolenbroekthe following rules are used: 443*3e07920fSDavid van Moolenbroek.Ss "As client:" 444*3e07920fSDavid van MoolenbroekA client can be configured not to check a server's certificate by setting the 445*3e07920fSDavid van Moolenbroekparameter 446*3e07920fSDavid van Moolenbroek.Ar verify 447*3e07920fSDavid van Moolenbroekto 448*3e07920fSDavid van Moolenbroek.Sq off . 449*3e07920fSDavid van MoolenbroekIf the server's certificate is signed by a trusted CA then it is checked 450*3e07920fSDavid van Moolenbroekif its hostname or IP is given in its certificate (as a CommonName, as a 451*3e07920fSDavid van MoolenbroekDNS SubjectAltName, or as an IP SubjectAltName). 452*3e07920fSDavid van MoolenbroekIf any match is found then the server is authenticated. 453*3e07920fSDavid van MoolenbroekIf a 454*3e07920fSDavid van Moolenbroek.Ar subject 455*3e07920fSDavid van Moolenbroekparameter is given then it is can satisfy this test as well. 456*3e07920fSDavid van MoolenbroekThis allows DNS-independent configurations using the server's IP address in the 457*3e07920fSDavid van Moolenbroekdestination and adding its hostname as 458*3e07920fSDavid van Moolenbroek.Ar subject 459*3e07920fSDavid van Moolenbroekto authenticate the TLS connection without having to add the IP to the X.509 460*3e07920fSDavid van Moolenbroekcertificate. 461*3e07920fSDavid van Moolenbroek.Pp 462*3e07920fSDavid van MoolenbroekIf no CA is used or no trust path between CA and server certificate exists, then 463*3e07920fSDavid van Moolenbroekhash value of the server's certificate is compared with the hash given in 464*3e07920fSDavid van Moolenbroek.Ar fingerprint 465*3e07920fSDavid van Moolenbroekand the hash of the certificate in 466*3e07920fSDavid van Moolenbroek.Ar cert . 467*3e07920fSDavid van MoolenbroekIf the hashes are equal then the server is authenticated. 468*3e07920fSDavid van Moolenbroek.Ss "As server:" 469*3e07920fSDavid van MoolenbroekIf using a CA and the client's certificate is signed by it then the client is 470*3e07920fSDavid van Moolenbroekauthenticated. 471*3e07920fSDavid van MoolenbroekOtherwise the hash of the client's certificate is compared with the hashes given 472*3e07920fSDavid van Moolenbroekin 473*3e07920fSDavid van Moolenbroek.Ar tls_allow_fingerprints 474*3e07920fSDavid van Moolenbroekand the hashes of the certificates given in 475*3e07920fSDavid van Moolenbroek.Ar tls_allow_clientcerts . 476*3e07920fSDavid van MoolenbroekOn any match the client is authenticated. 477*3e07920fSDavid van Moolenbroek.Sh BUFFERING 478*3e07920fSDavid van Moolenbroek.Xr syslogd 8 479*3e07920fSDavid van Moolenbroekis able to buffer temporary not writeable messages in memory. 480*3e07920fSDavid van MoolenbroekTo limit the memory consumed for this buffering the following optons may be 481*3e07920fSDavid van Moolenbroekgiven: 482*3e07920fSDavid van Moolenbroek.Bl -ohang 483*3e07920fSDavid van Moolenbroek.It Em file_queue_length 484*3e07920fSDavid van Moolenbroek.It Em pipe_queue_length 485*3e07920fSDavid van Moolenbroek.It Em tls_queue_length 486*3e07920fSDavid van MoolenbroekThe maximum number of messages buffered for one destination of type tls, file, 487*3e07920fSDavid van Moolenbroekor pipe respectively. 488*3e07920fSDavid van MoolenbroekDefaults are 489*3e07920fSDavid van Moolenbroek.Sq 1024 , 490*3e07920fSDavid van Moolenbroek.Sq 1024 , 491*3e07920fSDavid van Moolenbroekand 492*3e07920fSDavid van Moolenbroek.Sq -1 493*3e07920fSDavid van Moolenbroek(no limit). 494*3e07920fSDavid van Moolenbroek.It Em file_queue_size 495*3e07920fSDavid van Moolenbroek.It Em pipe_queue_size 496*3e07920fSDavid van Moolenbroek.It Em tls_queue_size 497*3e07920fSDavid van MoolenbroekThe maximum memory usage in bytes of messages buffered for one destination. 498*3e07920fSDavid van MoolenbroekDefaults are 499*3e07920fSDavid van Moolenbroek.Sq 1M , 500*3e07920fSDavid van Moolenbroek.Sq 1M , 501*3e07920fSDavid van Moolenbroekand 502*3e07920fSDavid van Moolenbroek.Sq 16M . 503*3e07920fSDavid van Moolenbroek.El 504*3e07920fSDavid van Moolenbroek.Sh SIGNING 505*3e07920fSDavid van Moolenbroek.Xr syslogd 8 506*3e07920fSDavid van Moolenbroekis able to digitally sign all processed messages. 507*3e07920fSDavid van MoolenbroekThe used protocol is defined by RFC 5848 (syslog-sign): 508*3e07920fSDavid van Moolenbroekat the start of a session the signing sender sends so called certificate 509*3e07920fSDavid van Moolenbroekblocks containing its public key; after that it periodically sends a signed 510*3e07920fSDavid van Moolenbroekmessage containing hashes of previous messages. 511*3e07920fSDavid van Moolenbroek.Pp 512*3e07920fSDavid van MoolenbroekTo detect later manipulation one has to keep a copy of the key used for 513*3e07920fSDavid van Moolenbroeksigning (otherwise an attacker could alter the logs and sign them with his 514*3e07920fSDavid van Moolenbroekhis own key). 515*3e07920fSDavid van MoolenbroekIf TLS is used with a DSA key then the same key will be used for signing. 516*3e07920fSDavid van MoolenbroekThis is the recommended setup because it makes it easy to have copies of 517*3e07920fSDavid van Moolenbroekthe certificate (with the public key) in backups. 518*3e07920fSDavid van MoolenbroekOtherwise new keys are generated on every restart and for certain verification 519*3e07920fSDavid van Moolenbroekit is necessary to have copies of all used keys. 520*3e07920fSDavid van MoolenbroekSo logging only to a local file is not secure; at least the used keys should 521*3e07920fSDavid van Moolenbroekbe logged to another host. 522*3e07920fSDavid van Moolenbroek.Bl -ohang 523*3e07920fSDavid van Moolenbroek.It Em sign_sg 524*3e07920fSDavid van MoolenbroekEnables signing. 525*3e07920fSDavid van MoolenbroekSet this option to enable syslog-sign and select how to assign 526*3e07920fSDavid van Moolenbroekmessages to signature groups (subsets of messages that are signed together). 527*3e07920fSDavid van MoolenbroekTo enable later signature verification and detection of lost messages the 528*3e07920fSDavid van Moolenbroekassignment should be chosen such that all messages of one signature group 529*3e07920fSDavid van Moolenbroekare written to the same file. 530*3e07920fSDavid van MoolenbroekFour possible values for this option are: 531*3e07920fSDavid van Moolenbroek.Bl -hang -offset indent 532*3e07920fSDavid van Moolenbroek.It Em 0 533*3e07920fSDavid van MoolenbroekUse one global signature group for all messages. 534*3e07920fSDavid van Moolenbroek.It Em 1 535*3e07920fSDavid van MoolenbroekUse one signature group per priority. 536*3e07920fSDavid van Moolenbroek.It Em 2 537*3e07920fSDavid van MoolenbroekUse signature groups for ranges of priorities. 538*3e07920fSDavid van Moolenbroek.It Em 3 539*3e07920fSDavid van MoolenbroekUse one signature group per destination. 540*3e07920fSDavid van MoolenbroekThis is a custom strategy not defined by the standard. 541*3e07920fSDavid van MoolenbroekWith this setting one signature group is set up for 542*3e07920fSDavid van Moolenbroekevery file and network action. 543*3e07920fSDavid van Moolenbroek.El 544*3e07920fSDavid van Moolenbroek.It Em sign_delim_sg2 545*3e07920fSDavid van MoolenbroekThis option is only evaluated with 546*3e07920fSDavid van Moolenbroek.Sq sign_sg=2 547*3e07920fSDavid van Moolenbroekand allows to configure the priority ranges for signature groups. 548*3e07920fSDavid van MoolenbroekThe parameters are numerical values used as the maximum priority for one group. 549*3e07920fSDavid van MoolenbroekThe default is to use one signature groups per facility, which is equal to 550*3e07920fSDavid van Moolenbroeksetting 551*3e07920fSDavid van Moolenbroek.Sq sign_delim_sg2=7 15 23 31 39 ... . 552*3e07920fSDavid van Moolenbroek.El 553*3e07920fSDavid van Moolenbroek.Sh FILES 554*3e07920fSDavid van Moolenbroek.Bl -tag -width /etc/syslog.conf -compact 555*3e07920fSDavid van Moolenbroek.It Pa /etc/syslog.conf 556*3e07920fSDavid van MoolenbroekThe 557*3e07920fSDavid van Moolenbroek.Xr syslogd 8 558*3e07920fSDavid van Moolenbroekconfiguration file. 559*3e07920fSDavid van Moolenbroek.It Pa /usr/share/examples/syslogd/verify.pl 560*3e07920fSDavid van MoolenbroekExample script to verify message signatures. 561*3e07920fSDavid van Moolenbroek(Requires Perl and modules not part of NetBSD.) 562*3e07920fSDavid van Moolenbroek.El 563*3e07920fSDavid van Moolenbroek.Sh EXAMPLES 564*3e07920fSDavid van MoolenbroekA configuration file might appear as follows: 565*3e07920fSDavid van Moolenbroek.Bd -literal 566*3e07920fSDavid van Moolenbroek# Log all kernel messages, authentication messages of 567*3e07920fSDavid van Moolenbroek# level notice or higher and anything of level err or 568*3e07920fSDavid van Moolenbroek# higher to the console. 569*3e07920fSDavid van Moolenbroek# Don't log private authentication messages! 570*3e07920fSDavid van Moolenbroek*.err;kern.*;auth.notice;authpriv.none /dev/console 571*3e07920fSDavid van Moolenbroek 572*3e07920fSDavid van Moolenbroek# Log anything (except mail) of level info or higher. 573*3e07920fSDavid van Moolenbroek# Don't log private authentication messages! 574*3e07920fSDavid van Moolenbroek*.info;mail.none;authpriv.none /var/log/messages 575*3e07920fSDavid van Moolenbroek 576*3e07920fSDavid van Moolenbroek# Log daemon messages at debug level only 577*3e07920fSDavid van Moolenbroekdaemon.=debug /var/log/daemon.debug 578*3e07920fSDavid van Moolenbroek 579*3e07920fSDavid van Moolenbroek# The authpriv file has restricted access. 580*3e07920fSDavid van Moolenbroek# Write logs with priority for later verification with syslog-sign. 581*3e07920fSDavid van Moolenbroekauthpriv.* +/var/log/secure 582*3e07920fSDavid van Moolenbroek 583*3e07920fSDavid van Moolenbroek# Log all the mail messages in one place. 584*3e07920fSDavid van Moolenbroekmail.* /var/log/maillog 585*3e07920fSDavid van Moolenbroek 586*3e07920fSDavid van Moolenbroek# Everybody gets emergency messages, plus log them on another 587*3e07920fSDavid van Moolenbroek# machine. 588*3e07920fSDavid van Moolenbroek*.emerg * 589*3e07920fSDavid van Moolenbroek*.emerg @arpa.berkeley.edu 590*3e07920fSDavid van Moolenbroek 591*3e07920fSDavid van Moolenbroek# Log all messages of level info or higher to another 592*3e07920fSDavid van Moolenbroek# machine using TLS with an alternative portname and a 593*3e07920fSDavid van Moolenbroek# fingerprint for athentication 594*3e07920fSDavid van Moolenbroek*.info @[logserver]:1234(fingerprint="SHA1:01:02:...") 595*3e07920fSDavid van Moolenbroek 596*3e07920fSDavid van Moolenbroek# Root and Eric get alert and higher messages. 597*3e07920fSDavid van Moolenbroek*.alert root,eric 598*3e07920fSDavid van Moolenbroek 599*3e07920fSDavid van Moolenbroek# Save mail and news errors of level err and higher in a 600*3e07920fSDavid van Moolenbroek# special file. 601*3e07920fSDavid van Moolenbroekmail,news.err /var/log/spoolerr 602*3e07920fSDavid van Moolenbroek 603*3e07920fSDavid van Moolenbroek# Pipe all authentication messages to a filter. 604*3e07920fSDavid van Moolenbroekauth.* |exec /usr/local/sbin/authfilter 605*3e07920fSDavid van Moolenbroek 606*3e07920fSDavid van Moolenbroek# Log kernel messages to a separate file without syncing each message. 607*3e07920fSDavid van Moolenbroekkern.* -/var/log/kernlog 608*3e07920fSDavid van Moolenbroek 609*3e07920fSDavid van Moolenbroek# Save ftpd transactions along with mail and news. 610*3e07920fSDavid van Moolenbroek!ftpd 611*3e07920fSDavid van Moolenbroek*.* /var/log/spoolerr 612*3e07920fSDavid van Moolenbroek 613*3e07920fSDavid van Moolenbroek# Send all error messages from a RAID array through a filter. 614*3e07920fSDavid van Moolenbroek!raid0 615*3e07920fSDavid van Moolenbroekkern.err |exec /usr/local/sbin/raidfilter 616*3e07920fSDavid van Moolenbroek 617*3e07920fSDavid van Moolenbroek# Save pppd messages from dialhost to a separate file. 618*3e07920fSDavid van Moolenbroek!pppd 619*3e07920fSDavid van Moolenbroek+dialhost 620*3e07920fSDavid van Moolenbroek*.* /var/log/dialhost-pppd 621*3e07920fSDavid van Moolenbroek 622*3e07920fSDavid van Moolenbroek# Save non-local log messages from all programs to a separate file. 623*3e07920fSDavid van Moolenbroek!* 624*3e07920fSDavid van Moolenbroek-@ 625*3e07920fSDavid van Moolenbroek*.* /var/log/foreign 626*3e07920fSDavid van Moolenbroek 627*3e07920fSDavid van Moolenbroek# Generate digital signatures for all messages 628*3e07920fSDavid van Moolenbroek# to each file or network destination. 629*3e07920fSDavid van Moolenbroeksign_sg=3 630*3e07920fSDavid van Moolenbroek.Ed 631*3e07920fSDavid van Moolenbroek.Sh SEE ALSO 632*3e07920fSDavid van Moolenbroek.Xr syslog 3 , 633*3e07920fSDavid van Moolenbroek.Xr syslogd 8 634*3e07920fSDavid van Moolenbroek.Sh HISTORY 635*3e07920fSDavid van MoolenbroekThe 636*3e07920fSDavid van Moolenbroek.Nm 637*3e07920fSDavid van Moolenbroekfile appeared in 638*3e07920fSDavid van Moolenbroek.Bx 4.3 , 639*3e07920fSDavid van Moolenbroekalong with 640*3e07920fSDavid van Moolenbroek.Xr syslogd 8 . 641*3e07920fSDavid van Moolenbroek.Sh BUGS 642*3e07920fSDavid van MoolenbroekThe effects of multiple selectors are sometimes not intuitive. 643*3e07920fSDavid van MoolenbroekFor example 644*3e07920fSDavid van Moolenbroek.Dq mail.crit;*.err 645*3e07920fSDavid van Moolenbroekwill select 646*3e07920fSDavid van Moolenbroek.Dq mail 647*3e07920fSDavid van Moolenbroekfacility messages at 648*3e07920fSDavid van Moolenbroekthe level of 649*3e07920fSDavid van Moolenbroek.Dq err 650*3e07920fSDavid van Moolenbroekor higher, not at the level of 651*3e07920fSDavid van Moolenbroek.Dq crit 652*3e07920fSDavid van Moolenbroekor higher. 653