今天我跑了journalctl -k
,发现了数百个这样的条目:
Mar 27 22:15:11 charm kernel: audit: type=1400 audit(1679915711.422:1671372): apparmor="DENIED" operation="open" profile="snap.firefox.firefox" name="/etc/fstab" pid=14539 comm="firefox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
为什么 firefox 尝试访问 fstab,我该如何阻止它尝试?
我设法轻松地重现了这一点:
[Mon Mar 27 12:31:56 2023] audit: type=1400 audit(1679916718.256:598): apparmor="DENIED" operation="open" class="file" profile="snap.firefox.firefox" name="/etc/fstab" pid=3791195 comm="firefox" requested_mask="r" denied_mask="r" fsuid=1001 ouid=0
我刚刚安装了 Firefox,运行了启动向导,浏览到一个页面,然后使用菜单“文件 -> 将页面另存为”来触发该事件。
需要注意两点,Firefox 没有读取,
/etc/fstab
因为 AppArmor 规则阻止了它(因此在错误中显示为“DENIED”)。其次,这不是 Firefox 独有的。我安装了“Musicpod”应用程序,它在选择音乐文件夹时做同样的事情。[Mon Mar 27 12:37:25 2023] audit: type=1400 audit(1679917047.146:637): apparmor="DENIED" operation="open" class="file" profile="snap.musicpod.musicpod" name="/etc/fstab" pid=3793570 comm="musicpod" requested_mask="r" denied_mask="r" fsuid=1001 ouid=0
在我看来,应用程序(或 GTK 文件选择器)只是试图找出所有已安装的文件系统,以便它可以在文件选择器对话框中显示它们。没有什么险恶的,也没有什么可担心的。
也就是说,如果您愿意,可以禁用日志记录,不仅仅是针对该操作,而是针对所有操作。
在这里测试过,它完全抑制了 syslog 中 apparmor 的输出。
当程序显示具有 GVFS 支持的文件系统访问对话框(打开/另存为)时,可能会发生这种情况。GVFS 支持特殊标志
/etc/fstab
(例如x-gvfs-show
、x-gvfs-icon
等),用于决定在此类对话框中显示哪些文件系统,以及它们的外观。