Search code examples
linuxubuntuvagrantvagrantfilexfce

I am asked for password of ubuntu user instead of vagrant (the user I'm logged in with in GUI)


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


Solution

  • 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