Linux 我被要求输入ubuntu用户的密码,而不是vagrant(我在GUI中登录的用户)

Linux 我被要求输入ubuntu用户的密码,而不是vagrant(我在GUI中登录的用户),linux,ubuntu,vagrant,vagrantfile,xfce,Linux,Ubuntu,Vagrant,Vagrantfile,Xfce,我有一个流浪项目,由ansible提供 对于ssh设置,我使用: config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'" config.ssh.forward_agent = true config.ssh.forward_x11 = true 问题是我用GUI启动VM vb.gui = true 已安装ansible lightdm gtk迎宾设置 但我被要求输入ubuntu的用户密码,而不是那个流浪的用户 这就是我要

我有一个流浪项目,由ansible提供

对于ssh设置,我使用:

config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
config.ssh.forward_agent = true
config.ssh.forward_x11 = true
问题是我用GUI启动VM

vb.gui = true
已安装ansible lightdm gtk迎宾设置

但我被要求输入ubuntu的用户密码,而不是那个流浪的用户

这就是我要解决的问题

作为一种解决办法(因为我不知道ubuntu的用户密码),我登录到vm并手动更改它。 流浪汉 sudopasswdubuntu 但我还是想知道背后的秘密

这是我的档案


似乎流浪用户没有添加到官方的流浪ubuntu/trusty框中的sudoers中

修复方法是添加以下行作为内联shell配置:

# provision
config.vm.provision :shell, inline: <<-SHELL
  # Set up sudo
  echo 'vagrant ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/vagrant
  chmod 0440 /etc/sudoers.d/vagrant
  # Setup sudo to allow no-password for "sudo" commands
  usermod -a -G sudo vagrant
SHELL
#规定

config.vm.provision:shell,内联:谢谢。在我的虚拟机上,
sudoers.d
文件已经存在,但是
vagrant
不是
sudo
组的成员。因此,我只需要最后一行就可以在没有提示的情况下启用GUI sudo更改。