Apenas para expandir um pouco as respostas acima, aqui está um caso de uso no mundo real. Eu executo o aplicativo de análise de log corporativo Splunk em uma caixa Redhat. Ele é executado no usuário e no grupo splunk. Isso impede que o splunk acesse os logs em / var / log, pois eles são acessíveis apenas pelo root (ou por um administrador do sudo)
Para permitir o acesso somente leitura para splunk, usei algumas ACLs e modifiquei o logrotate para persistir.
Você pode definir manualmente a ACL com
sudo setfacl -m g:splunk:rx /var/log/messages
Isso não persistirá, pois o logrotate não reaplicará a configuração da ACL; portanto, para uma solução mais permanente, adicionei uma regra ao logrotate para redefinir a ACL. Eu adicionei o arquivo ..
/etc/logrotate.d/Splunk_ACLs
com
{
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 o status da ACL de um arquivo com
$ getfacl /var/log/messages
Para obter mais informações sobre ACLs, consulte
https://help.ubuntu.com/community/FilePermissionsACLs
http://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/