Chỉ cần mở rộng một chút về các câu trả lời ở trên là trường hợp sử dụng trong thế giới thực. Tôi chạy ứng dụng phân tích nhật ký doanh nghiệp Splunk trên hộp Redhat. Nó chạy dưới người dùng splunk và nhóm splunk. Điều này ngăn chặn truy cập vào các bản ghi trong / var / log vì chúng chỉ có thể được truy cập bởi root (hoặc quản trị viên sudo)
Để cho phép truy cập chỉ đọc cho splunk, tôi đã sử dụng một số logrotate của ACL và đã sửa đổi để duy trì nó.
Bạn có thể tự đặt ACL bằng
sudo setfacl -m g:splunk:rx /var/log/messages
Điều này sẽ không tồn tại vì logrotate sẽ không áp dụng lại cài đặt ACL vì vậy để có giải pháp lâu dài hơn, tôi đã thêm một quy tắc vào logrotate để đặt lại ACL. Tôi đã thêm tập tin ..
/etc/logrotate.d/Splunk_ACLs
với
{
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
}
Kiểm tra trạng thái ACL của một tệp với
$ getfacl /var/log/messages
Để biết thêm thông tin về ACL, hãy xem
https://help.ubfox.com/community/FilePermissionsACLs
http://bencane.com/2012/05/27/acl-USE-access-control-lists-on-linux/