3

I have a vagrant project, provisioned with ansible.

For ssh settings I use:

config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
config.ssh.forward_agent = true
config.ssh.forward_x11 = true

The problem is that I start the VM with GUI

vb.gui = true

have installed with ansible lightdm-gtk-greeter-settings,

https://github.com/valentin-nasta/development-environment/blob/master/playbooks/roles/desktop/tasks/main.yml#L14

but I'm asked for ubuntu's user password instead of the vagrant user.

This is the problem I'm trying to solve.

As a workaround (as I didn't know the ubuntu's user password), I logged into the vm and change it manually. vagrant ssh sudo passwd ubuntu But still I would like to know the secret behind.

Here is my Vagrantfile

https://github.com/valentin-nasta/development-environment/blob/master/Vagrantfile

Vagrant ubuntu password request instead vagrant

valentin_nasta
  • 596
  • 4
  • 23

1 Answers1

1

It seems the vagrant user is not added to sudoers on the official Vagrant ubuntu/trusty box https://atlas.hashicorp.com/ubuntu/boxes/trusty64

The fix was to add these lines as inline shell provisioning:

# 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
valentin_nasta
  • 596
  • 4
  • 23
  • Thanks. On my VM the `sudoers.d` file was already in place, but `vagrant` was not a member of the `sudo` group. So I only needed the last line to enable GUI sudo changes without a prompt. – Ethan T Sep 27 '16 at 23:05