AppArmor 和绑定安装

AppArmor 和绑定安装

有人可以概述一下 AppArmor 关于绑定安装文件夹的语义吗?

据我了解,阅读文档后(1,2,3,4) - 是的,我正在使用带有 3.8 内核的 Ubuntu 12.04 - 策略“附加到路径”(即调用时成为进程的程序的路径)。

因此,假设我有该文件夹/home/joe/Public并且具有/var/www/html/joe绑定安装到它的位置。

我是否必须创建一个涵盖原始资料的个人资料绑定安装的,其中之一(哪个)或者还有其他我必须做或考虑的事情吗?

假设有一个程序/var/www/html/joe/foo,当配置文件/规则仅提及时,限制是否仍然有效/var/www/html/joe/foo,但 Joe 决定运行它/home/joe/Public/foo

链接和其他指针也将受到赞赏。

答案1

我没有明确的参考资料,也没有直接的经验,所以这不是一个权威的答案。

AppArmor 基于路径(我相信在解析符号链接之后)。路径不关心挂载点。 AppArmor 规则/var/www/html/joe/foo适用于通过该路径访问的文件。该路径/home/joe/Public/foo可能碰巧指定相同的文件,但由于它是不同的路径,因此 AppArmor 规则/var/www/html/joe/foo不适用。

您必须定义涵盖所有绑定安装位置的规则。但是,您不必重复您的规则。您可以告诉 AppArmor 一个位置是一个别名为了另一个。

alias /home/joe/Public -> /var/www/html/joe

我认为您不能使用通配符将一个别名自动应用于所有用户。为此,您可以使用变量来表达您的规则。

@{WWW_DIRS} = /home/*/Public /var/www/html/*
@{WWW_DIRS}/foo …

相关内容