如何为 Snap 配置 AppArmor?

ada*_*009 6 apparmor snap 20.04

我使用 Snap 等工具已经有telegram-desktop一段caprine时间了。caprine工作了几天,但随后 AppArmor 开始在dmesg. caprine甚至没有启动,当我尝试启动它时就崩溃了。所以,我卸载了它并安装了一个 deb 包caprine,效果很好。

telegram也开始出现问题。我无法下载/上传文件。每当我尝试下载/上传某些内容时,它只会显示“失败”。我看了看我的dmesg,这就是那里的内容:

audit: type=1400 audit(1618899013.777:481): apparmor="DENIED" operation="mkdir" profile="snap.telegram-desktop.telegram-desktop" ...
Run Code Online (Sandbox Code Playgroud)

Snaps 似乎没有正确配置 AppArmor。有没有办法配置这个?我在 MySQL 中也遇到过类似的情况,我编辑了一些文件并允许特定路径。这是如何通过 Snap 完成的?

小智 2

我在使用 snap 的 Brave 浏览器时遇到了问题。它被阻止阻止屏幕保护程序启动,因此流媒体不断中断。我发现问题有几个:首先,所有快照的 apparmor 策略都非常严格,其次,不会自动获取为单个快照应用程序提供的配置文件。

首先,按照 Alexis Evelyn 的建议进行操作:打开 /lib/apparmor/rc.apparmor.functions 并查找行 ADDITIONAL_PROFILE_DIR= 并将您的 snapd 配置文件目录粘贴到该行中。对我来说,配置文件目录是 /var/lib/snapd/apparmor/profiles/

然后打开受影响程序的 apparmor 配置文件进行编辑(使用 sudo),例如 snap.brave.brave。其中一些非常长,因此寻找一个看起来合适的位置,或者只是滚动到末尾(在右大括号之前)并添加与此类似的块,但包含系统日志错误中的信息:

dbus (send)
    bus=session
    interface=org.freedesktop.PowerManagement.Inhibit
    path=/org/freedesktop/PowerManagement/Inhibit
    member=Inhibit
    peer=(label=unconfined),
Run Code Online (Sandbox Code Playgroud)

希望有帮助!