【问题标题】:Vagrant Up by Non-Sudo Vagrant User fails非 Sudo Vagrant 用户的 Vagrant Up 失败
【发布时间】:2014-05-20 13:08:46
【问题描述】:

我在 vagrant(Ubuntu 12.04 OS)中创建了一个新的非 sudo 用户(user1),并将不安全的公钥添加到 user1 授权密钥文件中。在 vagrant 文件中,将默认用户添加为“user1”:

config.ssh.default.username = "user1"

现在 vagrant up 失败并显示以下错误消息:

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

mkdir -p /vagrant

Stdout from the command:

Stderr from the command:

sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: 3 incorrect password attempts

但是如果我将 sudo 用户设置为默认用户,那么 vagrant up 是成功的。 谁能帮助我为非 sudo 用户启用 vagrant up 所需的更改。

【问题讨论】:

  • 为什么要避免在 VM 上使用 sudo?
  • 因为我不希望默认用户访问其他用户的文件和文件夹(因为 sudo 用户可以使用 sudo 命令访问所有内容。)
  • 还有哪些用户?如果你想在来宾机器上安装或配置任何东西,你需要 root 访问权限。如果没有,为什么要使用 Vagrant?只需直接创建并启动 VM。
  • 我有 2 个用户,一个默认用户(非 sudo),另一个特权用户(sudo 用户)。默认用户应该有有限的访问权限并且应该能够执行“vagrant up”命令跨度>
  • 正如我在回答中所说,host 上的vagrant up 不需要 sudo 权限。但是来宾 VM 上的“流浪”用户需要它们。

标签: default vagrant sudo


【解决方案1】:

Vagrant 几乎所有操作都需要虚拟机上的 root/sudo 权限;例如配置网络、挂载共享文件夹、运行配置程序等。因此,即使您设法避免使用 sudo,您也不会获得非常有用的虚拟机。

请注意,您只需要对来宾进行 sudo 访问。 Vagrant 命令本身可以(并且应该)在主机上以非 root 用户身份运行。

【讨论】:

  • 那么如何单独为这个默认用户提供所需的访问权限(通过编辑 /etc/sudoers)?那么应该赋予默认用户什么权限呢?..
  • 取决于 Vagrant 版本、客户操作系统、您的配置、插件等。如果您真的需要这样做,您只需(从身份验证日志中)找出。
  • 如果我正在评论 config.vm.network :public_network 并禁用共享文件夹,则 vagrant up 正在执行而没有任何错误。但是 vagrant halt 给出了以下错误
  • 如果我在 Vagrantfile 中评论“config.vm.network :public_network”并禁用共享文件夹,则 vagrant up 正在执行且没有任何错误。但是 vagrant halt 给出错误:“Vagrant 假设这意味着命令失败!shutdown -h now”。
  • 即使在将非 sudo 用户“user1”的访问权限添加到 /etc/network/interfaces 和 /etc/init.d/networking 之后在 Vagrantfile 中使用“config.vm.network:public_network” ,vagrant up 给出错误:“以下 SSH 命令以非零退出状态响应。Vagrant 假设这意味着命令失败!sed -e '/^#VAGRANT-BEGIN/,/^#VAGRANT-END/ d ' /etc/network/interfaces > /tmp/vagrant-network-interfaces"
猜你喜欢
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2016-05-03
  • 1970-01-01
  • 2015-03-26
  • 1970-01-01
  • 2020-07-05
  • 2015-11-25
相关资源
最近更新 更多