¿Qué significa la línea *. *; Auth, authpriv.none - / var / log / syslog en el archivo de configuración rsyslog?

11

Estoy tratando de entender el /etc/rsyslog.confarchivo, pero me falta algo. Por ejemplo, esta es una parte del archivo:

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

De acuerdo con esta página:

La instalación es una de las siguientes palabras clave: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (igual que auth), syslog, user, uucp y local0 a local7.

La prioridad es una de las siguientes palabras clave, en orden ascendente: depuración, información, aviso, advertencia, advertencia (igual que advertencia), error, error (igual que error) crítico, alerta, emergencia, pánico (igual que emerge). Las palabras clave error, warn y panic están en desuso y ya no deberían usarse. La prioridad define la gravedad del mensaje.

Un asterisco ("*") representa todas las instalaciones o todas las prioridades, dependiendo de dónde se use (antes o después del período). La palabra clave none no significa ninguna prioridad de la instalación dada.

Puede especificar múltiples instalaciones con el mismo patrón de prioridad en una declaración utilizando el operador de coma (","). Puede especificar tantas instalaciones como desee. Recuerde que solo se toma la parte de la instalación de dicha declaración, se omitirá una parte de prioridad.

Se pueden especificar múltiples selectores para una sola acción utilizando el separador de punto y coma (";"). Recuerde que cada selector en el campo selector puede sobrescribir los anteriores. Con este comportamiento, puede excluir algunas prioridades del patrón.

Entonces, esto es bastante comprensible, pero ¿qué pasa con la ruta del archivo a la derecha? Puede ser solo un camino, o un camino con |o -antes (o tal vez incluso algo más). ¿Cuál es la diferencia entre los tres?

Mikhail Morfikov
fuente

Respuestas:

16

Dado

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

*.* significa registrar todas las instalaciones y todas las prioridades.

auth,authpriv.none significa no registrar las instalaciones auth y authpriv.

-/var/log/syslogsignifica iniciar sesión en el archivo / var / log / syslog. El guión anterior le dice a syslogd que no llame a fsync (), es decir, no vacíe el búfer del núcleo al disco después de cada escritura en el archivo.

Kyle Jones
fuente
¿Cómo auth,authpriv.nonesignifica que no inicie sesión? Según el documento citado, "cada selector en el campo selector puede sobrescribir los anteriores": ¿dónde se documenta el detalle de ese comportamiento? Hubiera esperado que la authparte coincidiera con la instalación de autenticación que ya había sido emparejada *.*, en lugar de deshabilitarla.
jl6
2
auth,authprivcoincide con ambos authy authpriv. La .noneparte se aplica a ambos. *.*;auth;authpriv.nonese comportaría como lo describe.
Kyle Jones
¡OK gracias! ¿Y eso está documentado en alguna parte?
jl6
1
Está implícito en la documentación anterior. La parte prioritaria se omite (se ignora) para todas las instalaciones excepto la última si enumera varias instalaciones utilizando una coma. Los documentos ciertamente podrían mejorarse en esta área.
Kyle Jones
Agregué la línea *.*;auth,authpriv.none /dev/console para que los mensajes de syslog también salgan en la consola (tty1) en mi Raspberry Pi. Tengo un monitor conectado a mi servidor Pi que se usa solo para monitorear los registros. Me gustaría hacer cualquier trabajo al respecto que ves.
Será