SYSLOG.CONF(5)		  Formats de fichiers de FreeBSD

 

NOM

syslog.conf - le fichier de configuration de syslogd(8)

 

DESCRIPTION

Le fichier syslog.conf est le fichier de configuration de syslogd(8). Il est composé de blocs de lignes séparées par des spécifications de programme. Chaque ligne est en deux parties : le champ de sélection qui indique le type de messages et les priorités de la ligne et le champ d'action qui indique quoi faire si un message syslogd correspond à un critère de sélection. Les deux champs sont séparés l'un de l'autre par des tabulations ou espaces.

Notez que si vous utilisez des espaces comme séparateur, votre syslog.conf pourra devenir incompatible avec d'autres Unix ou proches-Unix. Cette particularité existe pour le confort de l'écriture (par exemple, il est possible de copier-coller dans le fichier) et pour éviter de possibles erreurs. Ce changement préserve cependant la compatibilité avec les précédentes versions (c'est à dire tabulation uniquement).

Le champ de sélection est codé sous la forme d'une fonction, un point ("."), des opérateurs de comparaison optionnels ([<=>]) et un niveau, le tout sans espace. La fonction et le niveau ne sont pas sensibles à la casse.

La fonction indique la partie du système qui génère le message, c'est à dire un des mot clé suivants : auth, authpriv, cron, daemon, ftp, kern, lpr, mail, mark, news, ntp, syslog, user, uucp et local0 à local7. Tous, à l'exception de mark, correspondent à la valeur équivalente "LOG_" spécifiée par les bibliothèques openlog(3) et syslog(3).

Les opérateurs de comparaison sont utilisés pour indiquer précisément ce qui doit être enregistré. L'opérateur par défaut est "=>" (ou ">=" si vous préférez) et veut dire que les messages de la liste de fonctions d'un niveau supérieur ou égal à niveau seront enregistrés.

Le niveau décrit la sévérité du message par un mot clé de la liste suivante (du plus au moins sérieux) : emerg, alert, crit, err, warning, notice, info et debug. Ils correspondent à la valeur équivalente "LOG_" spécifiée par la bibliothèque syslog(3).

Chaque bloc de lignes est séparé du suivant par une marque qui consiste en une ligne commençant par #!prog ou !prog (cette première forme préservant la compatibilité avec les anciens syslogd, en cas de partage de syslog.conf, par exemple) et chacun est associé aux appels de syslog par le programme spécifique. Une marque pour "foo" correspondra à tout message enregistré par le noyau avec le préfixe "foo: ".

Voir syslog(3) pour plus d'explications sur les mots clé des fonctions et des niveaux. Il est préférable d'effectuer les sélections à partir de la fonction plutôt que du programme car ce dernier peut varier d'un environnement à l'autre. Dans certains cas cepandant, la fonction appropriée n'existe tout simplement pas.

Si un message reçu correspond à la fonction et est du niveau requis (ou d'un plus haut) et que le premier mot du message, après la date, correspond au programme, l'action spécifiée est lancée.

Plusieurs critères de sélection peuvent être indiqués pour une seule action en les séparant par des points-virgule (";"). Il est, cependant, important de noter que chaque critère peut modifier ceux qui le précèdent.

Plusieurs fonctions peuvent être indiquées pour un seul niveau en les séparant par des virgules (",").

Un astérisque ("*") peut être utilisé pour indiquer toute fonction, tout niveau ou tout programme.

La fonction spéciale "mark" reçoit un message de niveau "info" toute les vingt minutes (voir syslogd(8)). Ceci n'est pas dû à un champ fonction contenant un astérisque.

Le niveau spécial "none" désactive une fonction particulière.

Le champ action de chaque ligne spécifie l'action à exécuter lorsque le champ sélection retient un message. Il existe cinq formes :

La commande n'est lancée que lorsque les données qu'elle doit traiter sont arrivées. Si elle quitte plus tard, elle sera relancée si nécessaire. Si le sous-process doit recevoir exactement une seule ligne (ce qui peu accaparer les ressources en cas de messages arrivant rapidement), il se terminera après la fin de celle-ci. Si nécessaire, un script de découpage peut être écrit à cet effet.

A moins que la commande ne travaille en temps partagé, il est probablement utile de la lancer avec exec afin que l'interpréteur n'ait pas besoin d'attendre qu'elle se termine. Attention : le processus est lancé avec la même identité que syslogd(8), normalement super-utilisateur.

Les lignes vides et celles dont le premier caractère autre que blanc est un dièse ("#") sont ignorées.

 

EXEMPLES

Voici un exemple de fichier de configaration :

# Afficher tous les messages noyau, ceux
# d'autentification de niveau "notice" ou plus
# et tout de niveau err ou plus sur la console.
# Ne pas afficher les messages d'autentification
# privés !
*.err;kern.*;auth.notice;authpriv.none  /dev/console
 
# Tout enregistrer de niveau info ou plus, sauf mail.
# Ne pas enregistrer les messages d'autentification
# privés !
*.info;mail.none;authpriv.none        /var/log/messages
 
# Enregistrer les messages daemon seulement au niveau debug.
daemon.=debug                         /var/log/daemon.debug
 
# Le fichier authpriv a un accès restreint.
authpriv.*                          /var/log/secure
 
# Enregistrer le courriel à un seul endroit.
mail.*                             /var/log/maillog
 
# Tout le monde reçoit les messages urgents, plus les
# enregistrer sur une autre machine.
*.emerg                            *
*.emerg                            @arpa.berkeley.edu
 
# Root et Eric reçoivent les massages d'alerte et plus.
*.alert                            root,eric
 
# Sauvegarder les erreur courriel et forum de niveau err
# et plus dans un fichier spécial.
uucp,news.crit                     /var/log/spoolerr
 
# Tuyauter tout message d'autentification dans un filtre.
auth.*                     |exec /usr/local/sbin/authfilter
 
# Sauvegarder les transaction ftpd passant par mail et news.
!ftpd
*.*                                   /var/log/spoolerr
 
# Enregistrer les rapports coupe-feu dans un fichier séparé.
!ipfw
*.*                                   /var/log/ipfw

 

FICHIERS

/etc/syslog.conf, le fichier de configuration de syslogd(8)

 

BUGS

L'effet des sélections multiples n'est pas toujours très intuitif. Par exemple, " mail.crit,*.err" choisira les messages "mail" de niveau "err" ou plus et non "crit" ou plus.

En environnement réseau, notez que tous les systèmes d'exploitation n'implémentent pas les mêmes fonctions. authpriv, cron, ftp et ntp, connus de cette implémentation, peuvent ne pas l'être dans le système cible. Encore pire, DEC UNIX utilise la fonction numéro 10 (authpriv ici) pour enregistrer les évènements de son système de fichiers AdvFS.

 

VOIR AUSSI

syslog(3), syslogd(8)

 

BSD

9 juin 1993

Version française le 11 juillet 2000 par Guillain SEUILLOT <Guillain@lycosmail.com>


NOM | DESCRIPTION | EXEMPLES | FICHIERS | BUGS | VOIR AUSSI