如何在 22.04 中启用 Firefox apparmor 配置文件

如何在 22.04 中启用 Firefox apparmor 配置文件

好的,我找到了这在“如何为 Firefox 启用 AppArmor?”行中在 Ubuntu wiki 上,它已经过时了,因为 Firefox 现在是一个 snap。我认为配置文件已启用,但首先我不确定带有 snap 的配置文件在哪里。

  • Firefox 配置文件是否在 snap 中启用?
  • snap AppArmor 配置文件在哪里?

答案1

虽然文档中 (错误地) 指出 apparmor 配置文件存储在 /etc/apparmor.d 中,但对于某些配置文件来说,情况并非如此,尤其是对于 snap 包。正如snapcraft.io 论坛2017年:

Ubuntu 的 apparmor init 已修补,可以理解 /var/lib/snapd/apparmor/profiles,并将从 /var/cache/apparmor 加载这些配置文件的缓存文件(此概念可追溯到 Touch 和 snappy v1(但它们当然使用了不同的配置文件目录))。snappy 的配置文件缓存最终会在那里,apparmor init 确保在早期启动时加载这些缓存。

请注意,这对于使用 apparmor 的非 Debian/非 Ubuntu 系统(例如 openSUSE)来说会出现问题。

snap 的 apparmor 配置文件的备用存储位置是不是目前没有记录在任何 Ubuntu 网站上。我请求 Ubuntu 更正这个遗漏,因为他们的 wiki 页面是不可变的,我自己无法更正它。

答案2

是的,AppArmor Firefox 配置文件似乎已默认启用,至少在我的 22.04 机器上是这样,

因为我在内核日志文件中看到了一些由 AppArmor 输入的 Firefox 条目:

zgrep firefox /var/log/kern.log*

结果(简化,单线 -> 多线):

/var/log/kern.log.1:Jun 28 17:47:16 xxxx kernel: [ 6901.642471] 
apparmor="DENIED" operation="open" profile="snap.firefox.firefox" 
name="..." pid=7330 
comm="firefox" 
requested_mask="r" denied_mask="r" fsuid=1001 ouid=0

我认为 Firefox snap 的 apparmor 配置文件位于

/etc/apparmor.d/usr.bin.firefox

我觉得你可以添加自己的规则

/etc/apparmor.d/local/usr.bin.firefox

默认情况下仅包含这些评论(在我的 22.04 上)

# Site-specific additions and overrides for usr.bin.firefox.                    
# For more details, please see /etc/apparmor.d/local/README.                    

但我不知道如何做到这一点,添加自定义规则。

  • /etc/apparmor.d 目录是不是用于快照(参见我的回答)。

相关内容