Просто чтобы немного расширить приведенные выше ответы, это реальный пример использования. Я запускаю приложение Splunk для анализа журналов предприятия на коробке Redhat. Он работает под пользователем Spunk и группой Spunk. Это предотвращает доступ спленков к журналам в / var / log, так как они доступны только пользователю root (или администратору sudo)
Чтобы разрешить доступ только для чтения только для splunk, я использовал некоторые ACL и модифицировал logrotate, чтобы сохранить его.
Вы можете вручную установить ACL с помощью
sudo setfacl -m g:splunk:rx /var/log/messages
Это не будет сохраняться, так как logrotate не будет повторно применять настройку ACL, поэтому для более постоянного решения я добавил правило logrotate для сброса ACL. Я добавил файл ..
/etc/logrotate.d/Splunk_ACLs
с
{
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
}
Проверьте статус ACL файла с
$ getfacl /var/log/messages
Для получения дополнительной информации о ACL смотрите
https://help.ubuntu.com/community/FilePermissionsACLs
http://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/