gAM*_*OKa 22 linux permissions centos file-permissions
我的应用程序需要对/var/log/messages属于用户和组的 的读取访问权限root。/var/log/messages我的应用程序可以读取它所需的最低暴露级别是多少?
目前,我的计划是将 的组所有权更改/var/log/messages为一个新组,并将 root 和我的应用程序用户添加到该组中,但这也会赋予应用程序对/var/log/messages.
操作系统:Centos 5.5
小智 22
只是为了扩展上面的答案,这里是一个真实世界的用例。我在 Redhat 机器上运行企业日志分析应用程序 Splunk。它在 splunk 用户和 splunk 组下运行。这可以防止 splunk 访问 /var/log 中的日志,因为它们只能由 root(或 sudo 管理员)访问
为了只允许对 splunk 进行只读访问,我使用了一些 ACL 并修改了 logrotate 来保留它。
您可以手动设置 ACL
sudo setfacl -m g:splunk:rx /var/log/messages
Run Code Online (Sandbox Code Playgroud)
这不会持续,因为 logrotate 不会重新应用 ACL 设置,因此为了更持久的解决方案,我添加了一条规则来 logrotate 以重置 ACL。我添加了文件..
/etc/logrotate.d/Splunk_ACLs
Run Code Online (Sandbox Code Playgroud)
和
{
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
}
Run Code Online (Sandbox Code Playgroud)
使用以下命令检查文件的 ACL 状态
$ getfacl /var/log/messages
Run Code Online (Sandbox Code Playgroud)
有关 ACL 的更多信息,请参阅 https://help.ubuntu.com/community/FilePermissionsACLs http://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/
无需将 root 添加到组中,因为无论如何它都可以通过用户 privs 访问,只需将组读取到您决定的任何组即可。请记住也使用 logrotate 进行更改,否则组更改将在每晚被清除。
| 归档时间: |
|
| 查看次数: |
48137 次 |
| 最近记录: |