Snap版Firefox触发AppArmor DENIED的D-Bus方法调用日志频繁出现,求助解决办法
Snap版Firefox触发AppArmor DENIED的D-Bus方法调用日志频繁出现,求助解决办法
问题描述
我最近发现syslog里频繁出现这类日志:
dbus-daemon[1311]: message repeated 12 times: [ apparmor="DENIED" operation="dbus_method_call" bus="session" path="/org/gnome/Mutter/IdleMonitor/Core" interface="org.gnome.Mutter.IdleMonitor" member="GetIdletime" mask="send" name=":1.30" pid=33590 label="snap.firefox.firefox" peer_pid=1646 peer_label="unconfined"]
同时kern.log里也有相关记录:
kernel: [16957.155886] audit: type=1107 audit(1697596358.271:348): pid=823 uid=102 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_method_call" bus="system" path="/org/freedesktop/hostname1" interface="org.freedesktop.DBus.Properties" member="GetAll" mask="send" name=":1.410" pid=33590 label="snap.firefox.firefox" peer_pid=34265 peer_label="unconfined" kernel: [16957.155886] exe="/usr/bin/dbus-daemon" sauid=102 hostname=? addr=? terminal=?'
这些日志看起来都和Snap版Firefox有关,我搜了一圈没找到解决办法,我的系统配置如下:
$ uname -a Linux mksmith-laptop 6.2.0-34-generic #34~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 7 13:12:03 UTC 2 x86_64 x86_64 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy
求各位大佬帮忙解决!
解决思路与方法
嘿,我之前也碰到过Snap应用触发AppArmor权限日志的问题,给你几个实际可行的方案试试:
- 方案一:重新连接Snap相关权限接口
Snap的权限是通过接口机制管理的,可能是某些D-Bus相关的接口没正确绑定。打开终端执行下面的命令,然后重启Firefox:
snap connect firefox:system-observe snap connect firefox:session-bus
这两个接口分别对应系统级和会话级的D-Bus访问权限,连接后应该能解决大部分类似的权限拒绝问题。
- 方案二:临时调整AppArmor配置(测试用)
如果方案一没用,可以临时修改Firefox的AppArmor规则来允许这些调用(注意:Snap更新后这个配置会被重置,所以是临时方案):
- 打开Firefox的AppArmor配置文件:
sudo nano /var/lib/snapd/apparmor/profiles/snap.firefox.firefox
- 在文件中找到D-Bus相关的规则段,添加两行允许规则:
dbus send bus=session path="/org/gnome/Mutter/IdleMonitor/Core" interface="org.gnome.Mutter.IdleMonitor" member="GetIdletime" peer=(label=unconfined), dbus send bus=system path="/org/freedesktop/hostname1" interface="org.freedesktop.DBus.Properties" member="GetAll" peer=(label=unconfined),
- 保存文件后重新加载AppArmor配置:
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.firefox.firefox
重启Firefox后看看日志是否不再出现。
- 方案三:切换到Debian包版本的Firefox
如果不想折腾Snap的权限限制,最彻底的办法就是换成传统的deb包版本:
- 卸载Snap版Firefox:
sudo snap remove firefox
- 添加Mozilla官方PPA并安装deb版:
sudo add-apt-repository ppa:mozillateam/ppa sudo apt update sudo apt install firefox
这样安装的Firefox不受Snap的AppArmor限制,也就不会出现这类日志了。
备注:内容来源于stack exchange,提问作者Mitchell Smith KB3GKC
相关产品推荐
相关产品推荐

