답변:
어쨌든 사용자 개인을 통해 액세스 할 수 있으므로 그룹에 루트를 추가 할 필요가 없습니다. 단지 결정한 그룹에 그룹 읽기를 제공하십시오. logrotate로도 변경해야합니다. 그렇지 않으면 그룹 변경이 매일 밤 지워집니다.
위의 답변을 조금만 확장하면 실제 사용 사례가 있습니다. 엔터프라이즈 로그 분석 응용 프로그램 Splunk를 Redhat 상자에서 실행합니다. splunk user 및 splunk 그룹에서 실행됩니다. 이는 루트 (또는 sudo 관리자) 만 액세스 할 수 있기 때문에 splunk가 / var / log의 로그에 액세스하지 못하게합니다
splunk에 대해서만 읽기 전용 액세스를 허용하기 위해 일부 ACL을 사용하고 logrotate를 수정하여 유지했습니다.
ACL을 수동으로 설정할 수 있습니다
sudo setfacl -m g:splunk:rx /var/log/messages
logrotate가 ACL 설정을 다시 적용하지 않기 때문에 지속되지 않으므로보다 영구적 인 솔루션을 위해 ACL을 재설정하기 위해 logrotate 규칙을 추가했습니다. 파일을 추가했습니다 ..
/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/FilePermissionsACL을 참조 하십시오. http://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/
/etc/logrotate.d/Splunk_ACLs
귀하가 게시 한 컨텐츠의 전체 내용 입니까? 실제로 회전 후 비트를 처리하기 위해 logrotate에 대한 경로를 지정할 필요가 없습니까?
귀하의 계획은 수용 가능하며 "전통적인"Unix 권한 체계가 최선의 방법입니다.
또 다른 옵션은 syslog가 관심있는 메시지를 다른 파일로 전환하도록하는 것입니다 (앱 사용자에게에있을 수있는 민감한 항목에 대한 액세스 권한을 제공하지 /var/log/messages
않음).
당신의 전통적인 권한 방식에 얽매 기분하지 않는 경우 사용자 / 그룹 / 당신은 또한 사용할 수있는 다른 POSIX ACL을 앱 사용자를 제공하기 위해 (Google을 통해 사용할 수있는 다른, 어쩌면 더 나은 하우투 / 정보)에 대한 읽기 전용 액세스 /var/log/messages
- 이것은 좀 더 세밀하고 실수로 다른 사람을 응용 프로그램 그룹에 배치하여 볼 수 없어야 할 것들에 대한 액세스 권한을 부여 할 위험이 없습니다.