我正在从 Gentoo 迁移到 Ubuntu 22.04。传统上,我将所有 Firefox 配置文件放在单独的分区上,/profiles
该分区通过以下行安装/etc/fstab
:
PARTUUID="..." /profiles ext4 data=writeback,barrier=0,nobh,commit=120,nofail,noatime,nodiratime 0 0
现在,我发现 Firefox 是一个 snap 包,我对此有疑问(题外话),所以我通过mozillateam ppa。现在,只有当我将配置文件复制到我的用户中时$HOME
,此 Firefox 才能读取/写入我的配置文件,但当我尝试让配置文件管理器使用 /profiles 上的任何配置文件或在那里创建新配置文件时,它说权限被拒绝。在终端中,我可以在 /profiles 内正常读取/写入。
经过一番研究,Ubuntu 的软件中心似乎有一些选项允许对可移动媒体进行 R/W 访问,我想我的 /profiles 分区算作可移动媒体(见这个答案或者这个答案)。我不明白这是怎么做到的,我真的真的不想要这层额外的“安全”。我希望我的权限由和处理,chown
仅chmod
此而已。我能以某种方式禁用这种拒绝对可移动媒体进行 R/W 访问的隐藏机制吗?
谢谢 :)
答案1
感谢评论指出应用装甲作为罪魁祸首,并提醒我查看系统日志(我不得不告诉 rsyslogd/var/log/messages
在其配置文件中实际写出消息)。果然,系统日志还包含指向 AppArmor 的行:
[...] audit: type=1400 audit(1698224327.418:520): apparmor="DENIED" operation="open" class="file" profile="firefox" name="/proc/5309/cgroup" pid=5309 comm="firefox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
现在,上面的链接包含有关如何禁用此“功能”的信息:
sudo systemctl stop apparmor
sudo systemctl disable apparmor
重启后,一切正常。根据内核参数网页,也可以通过apparmor=0
在启动时传递给内核来禁用 AppArmor。