You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Snap文件系统沙箱中添加指定可访问目录(以/dev/shm为例)

如何在Snap文件系统沙箱中添加指定可访问目录(以/dev/shm为例)

嘿,我完全懂你频繁使用/dev/shm内存磁盘的痛点——想让各类应用(比如浏览器)都能读取这里的文件,但Snap应用的沙箱机制确实会卡住这个权限。之前用--devmode安装应用的思路虽然能走通,但两个缺点实在让人头疼:

  • 每个需要访问的应用都得单独操作,太繁琐
  • 直接给应用开放所有权限,安全性完全没保障

下面给你几个更精准的解决方案,既能让Snap应用访问/dev/shm,又不会过度放开权限:

方法一:针对单个应用手动连接system-files接口

这是最推荐的方式,能精准给特定应用授予/dev/shm的访问权限。比如你要给Snap版Chromium浏览器授权,只需要在终端执行:

sudo snap connect chromium:system-files /dev/shm

注意:不同应用的Snap包名可能不一样,比如Firefox的包名是firefox,替换成你需要的应用名即可。另外,有些严格沙箱的应用可能没声明对system-files接口的支持,这时候可以试试下面的方法。

方法二:全局配置Snap沙箱的目录访问规则(适合多应用场景)

如果有多个Snap应用都需要访问/dev/shm,可以通过修改snapd的全局配置来批量设置:

  1. 创建自定义配置文件:
sudo touch /etc/snapd/snap.conf.d/shm-access.conf
  1. 用文本编辑器打开这个文件,添加以下内容(授予只读权限,需要写入的话把r改成rw):
system-files:
  /dev/shm: r
  1. 重启snapd服务让配置生效:
sudo systemctl restart snapd

注意:这个方法需要你的snapd版本支持全局配置,较旧版本可能不兼容,可执行snap version查看当前版本。

方法三:使用--classic模式安装应用(谨慎使用)

如果上面的方法都不适用,你可以选择用--classic限制模式安装应用,这种模式下应用的沙箱限制会大幅降低,默认就能访问/dev/shm这类系统目录。比如安装Chromium:

sudo snap install chromium --classic

提醒:--classic模式虽然比--devmode安全一些,但仍然会给应用更多系统权限,仅在必要时使用。

备注:内容来源于stack exchange,提问作者Pietro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 08:57:59