Меня просят ввести пароль пользователя ubuntu вместо vagrant (пользователя, с которым я вошел в систему в графическом интерфейсе)

У меня есть бродячий проект с ансиблем.

Для настроек ssh я использую:

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

Проблема в том, что я запускаю виртуальную машину с графическим интерфейсом

vb.gui = true

установили с помощью ansible lightdm-gtk-greeter-settings,

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

но меня просят ввести пароль пользователя ubuntu вместо пользователя vagrant.

Это проблема, которую я пытаюсь решить.

В качестве обходного пути (поскольку я не знал пароля пользователя ubuntu) я вошел в виртуальную машину и изменил его вручную. vagrant ssh sudo passwd ubuntu Но все же я хотел бы знать секрет.

Вот мой Vagrantfile

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

Бродячий запрос пароля ubuntu вместо бродячего


person valentin_nasta    schedule 01.04.2016    source источник


Ответы (1)


Похоже, что бродячий пользователь не добавлен в sudoers в официальном Vagrant ubuntu / trusty box https://atlas.hashicorp.com/ubuntu/boxes/trusty64.

Исправление заключалось в том, чтобы добавить эти строки в качестве встроенной подготовки оболочки:

# 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
person valentin_nasta    schedule 01.04.2016
comment
Спасибо. На моей виртуальной машине sudoers.d файл уже был на месте, но vagrant не входил в группу sudo. Поэтому мне нужна была только последняя строка, чтобы разрешить изменение sudo графического интерфейса без запроса. - person Ethan T; 28.09.2016