记录一下今天的坑: snap hostfs - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
julyclyde
V2EX    Ubuntu

记录一下今天的坑: snap hostfs

  •  
  •   julyclyde 338 天前 2586 次点击
    这是一个创建于 338 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天帮人看故障,现象是 firefox 无法把/opt/data/ (一个单独 mount 的 RAID 卷)作为下载目录
    错误信息是刚访问到/opt/层就已经 permission denied 了

    首先 777 ,没修复
    然后看日志,发现是 apparmor
    修改了 snap.firefox.firefox 的 apparmor profile ,加 rw ,加 audit ,能捕捉到 firefox 访问/opt/的痕迹,并且授权,但浏览器看不到里面现有的文件

    想了好久,终于去看了一下/proc/XXX/mounts
    发现这个 RAID 卷居然 mount 在了/var/lib/snapd/hostfs/opt/data/目录上了
    7 条回复    2024-11-06 14:39:10 +08:00
    codehz
        1
    codehz  
       338 天前   1
    这玩意应该用了命名空间一类的吧,snap 的问题不应该看 snap 的帮助的吗,
    用 snap connect firefox:removable-media 应该就可以访问了
    julyclyde
        2
    julyclyde  
    OP
       338 天前
    @codehz 谢谢
    主要是……我是服务器运维啊,对于桌面界的发展已经跟不上了
    pagxir
        3
    pagxir  
       338 天前 via Android
    snap 就一垃圾设计,Ubuntu 还一直无脑的推
    julyclyde
        4
    julyclyde  
    OP
       337 天前
    @pagxir Ubuntu 推的好多东西最后都废弃了。唉
    Eucalyptus
    MaaS
    juju
    upstart
    ……
    julyclyde
        5
    julyclyde  
    OP
       337 天前
    @codehz 不过我那个 RAID 卷是 linux mdadm 那种 RAID 啊,按说不算 removable 的?
    codehz
        6
    codehz  
       337 天前   1
    @julyclyde 仔细想实际上是按路径来的 https://github.com/canonical/snapd/blob/96fc2c65715a91853c899c41c29c53ad7aad5cf8/cmd/snap-confine/mount-support.c#L965-L993
    写死了只有特定路径可以访问(其中一部分受到 removable-media 权限管控(只有/media 和/mnt ,/opt 都不算
    你看到的 hostfs 这个,实际上应该是在命名空间里使用了 pivot_root 切换主目录出来的,虽然挂载被继承了,但不代表能访问到,命名空间里整个/opt 根本不是实际的 opt
    建议改挂载点到/mnt 或者/media 里的子目录
    也有一个替代方法,定制一个 https://snapcraft.io/docs/system-files-interface 的规则,然后允许 ff 使用
    julyclyde
        7
    julyclyde  
    OP
       337 天前
    @codehz 哦那我用不上。我这里是/opt/data/
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1004 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 18:14 PVG 02:14 LAX 11:14 JFK 14:14
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86