Linux: ¿Cómo aplicar permisos específicos en los registros recién creados que se crean mediante la rotación de registros?

15

Me di cuenta de que los registros de correo que se están creando /var/logson creados y propiedad de root (usuario y grupo). He escrito una verificación de Nagios que monitorea el registro y para permitir que el usuario de Nagios acceda a él, le di al othergrupo permisos de lectura, es decir:

chmod o+r /var/log/maillog

Ahora, cuando lo pienso, este es solo un archivo de registro, cuando el archivo de registro se llene, el mecanismo de rotación de registro cambiará el nombre de este archivo y abrirá uno nuevo, pero el nuevo maillogarchivo no tendrá el read writeque permití.

Entonces mi pregunta es, ¿cómo puedo asegurarme de que el mecanismo de rotación del registro creará todos los archivos nuevos de mailllog con los permisos correctos para el usuario de Nagios?

Gracias por adelantado

Itai Ganot
fuente

Respuestas:

21

logrotatetiene la createopción:

create mode owner group

Inmediatamente después de la rotación (antes de que se ejecute el script postrotate) se crea el archivo de registro (con el mismo nombre que el archivo de registro que acaba de girar). modeespecifica el modo para el archivo de registro en octal (igual que chmod (2)), el propietario especifica el nombre de usuario que será el propietario del archivo de registro y group especifica el grupo al que pertenecerá el archivo de registro. Se puede omitir cualquiera de los atributos del archivo de registro, en cuyo caso esos atributos para el nuevo archivo utilizarán los mismos valores que el archivo de registro original para los atributos omitidos. Esta opción se puede deshabilitar usando la opción nocreate.

Más información con man logrotate.

Úselo así:

/var/log/maillog {
....
        create 664 user group
....
}

ya sea en /etc/logrotate.confo en un archivo separado /etc/logrotate.dy verifique si ningún otro archivo ya anula esto. Cómo se configura esto depende de su sistema operativo (por ejemplo, en Ubuntu, esto se maneja en la rsyslogconfiguración).

Sven
fuente
¿Cómo puedo configurar que solo se /var/log/maillogcrearán archivos de registro futuros con los permisos de usuario deseados sin cambiar ninguna de las configuraciones predeterminadas que ya se aplican al registro de correo?
Itai Ganot
Vea mi edición y lectura man logrotate(y mire /etc/logrotate.confy /etc/logrotate.dpara muchos ejemplos).
Sven
2
@ItaiGanot También debe corregir su configuración de syslog para que cree el archivo con el permiso adecuado, en lugar de hacer un chmod inicial.
Jenny D
@ JennyD, gracias, ¿eso significa que debo eliminar la /var/log/mailloglínea /etc/logrotate.d/syslogpara /etc/logrotate.confque se realice la configuración ?
Itai Ganot
2
@ItaiGanot No! Significa que debe averiguar qué programa syslog está utilizando (probablemente uno syslog-ngo más rsyslog) y cambiar su configuración. Esto es necesario porque cuando su sistema se reinicia, o su programa syslog se reinicia por alguna otra razón, puede volver a crear el archivo con el permiso incorrecto.
Jenny D