ste*_*rks 5 linux firefox apparmor
当单个 Firefox 安装运行多个配置文件时,是否有办法为每个 Firefox 配置文件创建 AppArmor 配置文件?或者更一般地说,对于支持多个配置文件的任何应用程序,Thunderbird 等。通常,我为这些应用程序找到的所有 AppArmor 配置文件仅包含整个应用程序,除非我错过了某些内容。
通常,您使用命令行参数启动 Firefox 或 Thunderbird 来指定不同的配置文件。但是,我在 AppArmor 配置文件语法中找不到任何与应用程序参数匹配的内容。
我知道 libvirt 通过为每个虚拟机创建 AppArmor 配置文件来以某种方式实现此目的,因此必须有某种方法。
AppArmor 通过可执行文件运行。它无法确定 Firefox 已加载不同的配置文件,因此它应该使用不同的 AppArmor 配置文件。
AppArmor 支持更改规则,允许应用程序更改适用于它的配置文件。预期的用例正是为了允许应用程序在完成初始化并弄清楚在此特定实例中需要访问的内容后切换到更具限制性的配置文件。因此,如果 Firefox 具有 AppArmor 感知能力,则可以为其指定change_profile
规则,并在确定要运行的配置文件后应用转换。据我所知,这还没有完成。
无需编程,您可以做的就是制作firefox-bin
可执行文件的多个副本或硬链接,并为每个文件定义不同的配置文件(AppArmor 基于可执行文件的路径,因此不同的硬链接不需要使用相同的配置文件,这与 SELinux 不同。基于 inode)。这需要 root 并且不太方便,这就是 AppArmor 中添加更改配置文件功能的原因。