Solo para expandir un poco las respuestas anteriores aquí hay un caso de uso del mundo real. Ejecuto la aplicación de análisis de registro empresarial Splunk en un cuadro de Redhat. Se ejecuta bajo el usuario splunk y el grupo splunk. Esto evita que splunk acceda a los registros en / var / log ya que solo son accesibles por root (o un administrador de sudo)
Para permitir el acceso de solo lectura solo para splunk, he usado algunas ACL y modifiqué el logrotate para mantenerlo.
Puede configurar manualmente la ACL con
sudo setfacl -m g:splunk:rx /var/log/messages
Esto no persistirá ya que logrotate no volverá a aplicar la configuración de ACL, por lo que para una solución más permanente, agregué una regla para logrotate para restablecer la ACL. Agregué el archivo ...
/etc/logrotate.d/Splunk_ACLs
con
{
postrotate
/usr/bin/setfacl -m g:splunk:rx /var/log/cron
/usr/bin/setfacl -m g:splunk:rx /var/log/maillog
/usr/bin/setfacl -m g:splunk:rx /var/log/messages
/usr/bin/setfacl -m g:splunk:rx /var/log/secure
/usr/bin/setfacl -m g:splunk:rx /var/log/spooler
endscript
}
Verifique el estado de ACL de un archivo con
$ getfacl /var/log/messages
Para obtener más información sobre las ACL, consulte
https://help.ubuntu.com/community/FilePermissionsACL
http://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/