使用 snap 安装的实用程序无法写入 .bashrc

使用 snap 安装的实用程序无法写入 .bashrc

问题:我们有什么方法可以允许 snap 实用程序写入 .bashrc?

以下是我已执行或尝试过的步骤:

我使用安装了 Vault折断在 Ubuntu:19.04

snap install vault

2019-05-26T09:46:49Z INFO 正在等待重启...已安装来自 Snapcrafters 的 vault 1.1.1

安装成功后,我尝试使用安装 vault 自动完成功能

vault -autocomplete-install

引发以下错误:

root@vault-server:~# vault -autocomplete-install

执行 CLI 时出错:发生 1 个错误:

*打开/root/.bashrc:权限被拒绝

但是,如果我通过下载二进制文件安装 vault,在 /usr/bin 中添加软链接,然后尝试安装自动完成功能,它会成功安装,并且我可以在 ~/.bashrc 中看到一个新条目

complete -C /opt/softwares/vault vault

供参考 : /opt/softwares 是我复制下载的二进制文件的 /path/to/dir 。

添加参考信息: 使用 snap 安装 Vault 后:

which vault

/快照/ bin /保管库

ls -lrt /snap/bin/

总计 1 lrwxrwxrwx 1 root root 13 5月 26 09:47 vault -> /usr/bin/snap

ls -lrt /usr/bin/ | grep snap

lrwxrwxrwx 1 根 根 ubuntu-core-launcher -> ../lib/snapd/snap-confine

-rwxr-xr-x 1 根 根 snapfuse

lrwxrwxrwx 1 根 根 snapctl -> ../lib/snapd/snapctl

-rwxr-xr-x 1 root 根快照

ls -lrt /usr/bin/ | grep vault

没有什么

答案1

太长了,无法评论。

也许,坐月子,特别是classic坐月子就是你需要的东西。从https://docs.snapcraft.io/snap-confinement

  • 严格的

    大多数 snap 应用都使用这种技术。严格限制的 snap 应用在完全隔离的环境中运行,因此,如果不通过接口请求特定访问权限,则无法访问您的文件、网络、进程或任何其他系统资源。

  • 经典的

    允许以与传统软件包相同的方式访问系统资源。为了防止滥用,发布经典快照需要手动批准,并且安装需要--classic 命令行参数。

  • 开发模式

    为 snap 创建者和开发者提供的特殊模式。devmode snap 以严格受限的 snap 形式运行,可以完全访问系统资源,并生成调试输出以识别未指定的接口。安装需要 --devmode 命令行参数。Devmode snap 无法发布到稳定通道,不会出现在搜索结果中,也不会自动刷新。

因此,您只需要vault在经典限制下重新安装您的软件包:

sudo snap install vault --classic

希望这可以帮助。

相关内容