从 Ubuntu 软件(snap 包)安装的 Notepad++ 将根 FS 映射到“Z”驱动器。
但是,启动时,File Open 仅显示“/”下的顶层目录。例如,File Open 将显示 /var,但不显示 /var/log - 尽管这两个目录都是全局读取的。
类似地,如果 NPP 针对 /var/log/syslog 启动(当该文件可供全世界读取时) - NPP 会显示错误“无法打开文件‘Z:\var\log\syslog’”。
有没有办法解决?
答案1
Snap 是旨在防止访问到不寻常的地方(例如系统目录),所以这看起来像是预期的行为。
Snap 使用多层权限:
- Snapd 接口
- snap 的 AppArmor 配置文件
- 文件系统所有权和权限。
看一眼https://snapcraft.io/docs/snap-layouts举个例子,说明如何设计按扣来保持爱管闲事的游客和旋转的齿轮之间的护栏。
如果您想要完全访问所有文件,那么基于 snap 的文本编辑器可能不是最佳选择。相反,您还有其他选择:
- 基于 deb 或手动安装的文本编辑器
- 在仅支持 Snap 的 Ubuntu Core 上,你可以使用内置
vim
编辑器 - 您可以将该文件复制到可读位置(例如您的 /home)
- 如果您被拒绝访问常用位置,请考虑向 snap 的作者提交错误报告,以便他们可以明确添加权限。
确实没有简单的方法覆盖snap 应用程序的访问权限。这将是一个明显的安全漏洞。