好的,我找到了这在“如何为 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 目录是不是用于快照(参见我的回答)。