Que signifie la ligne *. *; Auth, authpriv.none - / var / log / syslog dans le fichier de configuration rsyslog?

11

J'essaie de comprendre le /etc/rsyslog.conffichier, mais il me manque quelque chose. Par exemple, cela fait partie du fichier:

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

Selon cette page:

La fonction est l'un des mots clés suivants: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (identique à auth), syslog, user, uucp et local0 à local7.

La priorité est l'un des mots-clés suivants, dans l'ordre croissant: débogage, info, avis, avertissement, avertir (identique à l'avertissement), err, erreur (identique à err) crit, alert, Emerg, panic (identique à Emerg). Les mots-clés error, warn et panic sont obsolètes et ne devraient plus être utilisés. La priorité définit la gravité du message.

Un astérisque ("*") représente toutes les installations ou toutes les priorités, selon l'endroit où il est utilisé (avant ou après la période). Le mot-clé none signifie aucune priorité de la fonction donnée.

Vous pouvez spécifier plusieurs ressources avec le même modèle de priorité dans une seule instruction à l'aide de l'opérateur virgule (","). Vous pouvez spécifier autant d'installations que vous le souhaitez. N'oubliez pas que seule la partie installation d'une telle instruction est prise, une partie prioritaire serait ignorée.

Plusieurs sélecteurs peuvent être spécifiés pour une seule action à l'aide du séparateur point-virgule (";"). N'oubliez pas que chaque sélecteur du champ de sélection est capable d'écraser les précédents. En utilisant ce comportement, vous pouvez exclure certaines priorités du modèle.

Donc, c'est assez compréhensible, mais qu'en est-il du chemin du fichier à droite. Cela peut être juste un chemin, ou un chemin avec |ou -avant lui (ou peut-être même autre chose). Quelle est la différence entre les trois?

Mikhail Morfikov
la source

Réponses:

16

Donné

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

*.* signifie enregistrer toutes les installations et toutes les priorités.

auth,authpriv.none signifie ne pas enregistrer les installations auth et authpriv.

-/var/log/syslogsignifie journal dans le fichier / var / log / syslog. Le tiret précédent indique à syslogd de ne pas appeler fsync (), c'est-à-dire de ne pas vider le tampon du noyau sur le disque après chaque écriture dans le fichier.

Kyle Jones
la source
Comment auth,authpriv.nonesignifie ne pas se connecter? D'après le document cité, "chaque sélecteur dans le champ de sélection est capable d'écraser les précédents" - où le détail de ce comportement est-il documenté? Je m'attendais à ce que la authpièce corresponde à la fonction d'authentification qui avait déjà été mise en correspondance au *.*lieu de la désactiver.
jl6
2
auth,authprivcorrespond à la fois à authet authpriv. La .nonepartie s'applique aux deux. *.*;auth;authpriv.nonese comporterait comme vous le décrivez.
Kyle Jones
OK merci! Et cela est-il documenté quelque part?
jl6
1
C'est implicite dans la documentation ci-dessus. La partie prioritaire est ignorée (ignorée) pour toutes les installations sauf la dernière si vous répertoriez plusieurs installations à l'aide d'une virgule. La documentation pourrait certainement être améliorée dans ce domaine.
Kyle Jones
J'ai ajouté la ligne *.*;auth,authpriv.none /dev/console pour que les messages syslog apparaissent également sur la console (tty1) de mon Raspberry Pi. J'ai un moniteur branché sur mon serveur Pi qui est utilisé uniquement pour surveiller les journaux. Je ssh pour faire n'importe quel travail que vous voyez.
Will