如何为 Snaps 配置 AppArmor?

如何为 Snaps 配置 AppArmor?

我已经使用 Snaps 和 等telegram-desktop一段caprine时间了。caprine可以使用几天,但后来 AppArmor 开始显示拒绝dmesgcaprine它甚至无法启动,在我尝试启动它时就崩溃了。因此,我卸载了它并安装了 的 deb 包caprine,它运行正常。

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

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

Snaps 似乎没有正确配置 AppArmor。有办法配置吗?我在 MySQL 上遇到过类似的情况,我编辑了一些文件并允许了特定路径。Snaps 是如何做到这一点的?

答案1

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

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

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

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

希望有帮助!

相关内容