Cosa significa la riga *. *; Auth, authpriv.none - / var / log / syslog nel file di configurazione rsyslog?


11

Sto cercando di capire il /etc/rsyslog.conffile, ma mi manca qualcosa. Ad esempio, questa è una parte del file:

auth,authpriv.*         /var/log/auth.log
*.*;auth,authpriv.none      -/var/log/syslog
cron.*              /var/log/cron.log
daemon.*            -/var/log/daemon.log
kern.*              -/var/log/kern.log
lpr.*               -/var/log/lpr.log
mail.*              -/var/log/mail.log
user.*              -/var/log/user.log

Secondo questa pagina:

La funzione è una delle seguenti parole chiave: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (uguale a auth), syslog, user, uucp e local0 tramite local7.

La priorità è una delle seguenti parole chiave, in ordine crescente: debug, informazioni, avviso, avviso, avviso (stesso avviso), err, errore (uguale a err) crit, alert, emerg, panic (uguale a emerge). Le parole chiave error, warn e panic sono obsolete e non dovrebbero più essere utilizzate. La priorità definisce la gravità del messaggio.

Un asterisco ("*") indica tutte le strutture o tutte le priorità, a seconda di dove viene utilizzato (prima o dopo il periodo). La parola chiave none non rappresenta alcuna priorità della funzione fornita.

È possibile specificare più strutture con lo stesso modello di priorità in un'istruzione utilizzando l'operatore virgola (","). Puoi specificare tutte le strutture che desideri. Ricorda che viene presa solo la parte della struttura da tale affermazione, una parte prioritaria verrebbe saltata.

È possibile specificare più selettori per una singola azione utilizzando il separatore punto e virgola (";"). Ricorda che ogni selettore nel campo selettore è in grado di sovrascrivere i precedenti. Utilizzando questo comportamento è possibile escludere alcune priorità dal modello.

Quindi, questo è abbastanza comprensibile, ma per quanto riguarda il percorso del file sulla destra. Può essere solo un percorso, o percorso con |o -prima di esso (o forse anche qualcos'altro). Qual è la differenza tra i tre?

Risposte:


16

Dato

*.*;auth,authpriv.none      -/var/log/syslog

*.* significa registrare tutte le strutture e tutte le priorità.

auth,authpriv.none significa non registrare le strutture auth e authpriv.

-/var/log/syslogsignifica accedere al file / var / log / syslog. Il trattino precedente dice a syslogd di non chiamare fsync (), cioè non scaricare il buffer del kernel sul disco dopo ogni scrittura sul file.


Come auth,authpriv.nonesignifica non accedere? Dal documento citato, "ogni selettore nel campo selettore è in grado di sovrascrivere i precedenti" - dove sono documentati i dettagli di quel comportamento? Mi sarei aspettato che la authparte corrispondesse all'impianto di autenticazione che era già stato abbinato *.*, anziché disabilitarlo.
jl6

2
auth,authprivcorrisponde a entrambi authe authpriv. La .noneparte si applica a entrambi. *.*;auth;authpriv.nonesi comporterebbe come descrivi.
Kyle Jones,

Ok grazie! E questo è documentato ovunque?
jl6

1
È implicito nella documentazione sopra. La parte prioritaria viene ignorata (ignorata) per tutti tranne l'ultima struttura se si elencano più strutture utilizzando una virgola. I documenti potrebbero certamente essere migliorati in questo settore.
Kyle Jones,

Ho aggiunto la linea in *.*;auth,authpriv.none /dev/console modo che anche i messaggi syslog escano sulla console (tty1) sul mio Raspberry Pi. Ho un monitor collegato al mio server Pi che viene utilizzato solo per monitorare i registri. Vedo di fare qualsiasi lavoro su di esso, vedi.
Sarà
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.