Estoy usando Solaris 10 y vi esta línea en/etc/syslog.conf
*.err;kern.debug;daemon.notice;mail.crit;auth.debug;local2.notice /var/adm/messages
¿Significa que si tengo unautenticación.err, el mensaje de error aparecerá en mi /var/adm/message
dos veces debido a:
*.err
auth.debug
Si digamos que también tengo otra línea que es:
*.emerg *
*.err;kern.debug;daemon.notice;mail.crit;auth.debug;local2.notice /var/adm/messages
¿Significa que si tengo unkernel.emerg, se registrará dos veces /var/adm/messages
debido a
*.emerg * and
kern.debug /var/adm/messages
?
=======
Añadido
auth.notice ifdef(`LOGHOST', /var/log/authlog, @loghost)
¿Cómo comprueba syslog si esta máquina es un host de registro o no? comprobando en /etc/hosts el alias "loghost" y viendo si coincide con la IP de la máquina.
Tengo syslog.conf sin ifdef y todavía funciona, ¿es necesario ifdef o no?
Respuesta1
La mayoría de las reglas definen filtros que se aplican en tiempo de ejecución a cada mensaje, por lo que, en realidad, no se supone que tengas mensajes duplicados en el mismo destino/archivo.
Se pueden especificar varios selectores para una sola acción utilizando el separador de punto y coma ('';''). Recuerde que cada selector en el campo selector es capaz de sobrescribir los anteriores.
Sin embargo, puede recibir y recibe el mismo mensaje enviado a diferentes archivos, incluida la consola.
En el caso de
*.emerg *
Lo cual es una abreviatura para todos los usuarios en syslog, lo será para todos los usuarios.
Todos iniciaron sesión
Los mensajes de emergencia suelen llegar a todos los usuarios que se encuentran actualmente en línea para notificarles que algo extraño está sucediendo con el sistema. Para especificar esta característica de muro(1), utilice un asterisco (''*'').
De hecho, en un kernel.emerg, lo enviará a todos los usuarios y a /var/adm/messages al mismo tiempo; sin embargo, será solo una línea en /var/adm/messages.
El comportamiento del syslogd BSD original es que todos los mensajes de la prioridad especificada y superiores se registran de acuerdo con la acción dada.
Citas tomadas de syslog.conf
la página de manual:
página de manual syslog.conf(5)
en cuanto al ifdef, tomando como ejemplo:
auth.notice ifdef(`LOGHOST', /var/log/authlog, @loghost)
Si se define LOGHOST (es decir, este syslog es un LOGHOST, enviará el registro/mensaje a /var/log/authlog; de lo contrario, lo enviará a @loghost.
En cuanto a ifdef no es un requisito, y en cuanto a LOGHOST, segúnesta páginaes el nombre de la máquina tomado del archivo /etc/hosts (o posiblemente DNS, solo pruebas)
Para editar /etc/hosts (./inet/hosts) y agregar una o varias líneas que definan la dirección IP para loghost (el nombre es arbitrario y, si se definen varios hosts remotos, puede usar el nombre que desee)