Бродяга не запускается. Пользователь, создавший виртуальную машину, не соответствует текущему пользователю


124

Я пытался запустить свою бродячую машину, поэтому перешел в папку, где находится мой бродячий файл, и использовал:

бродяга вверх && бродяга ssh

но я получил следующее сообщение об ошибке:

Виртуальная машина VirtualBox была создана с пользователем, который не соответствует текущему пользователю, запускающему Vagrant. VirtualBox требует, чтобы для управления созданной виртуальной машиной использовался тот же пользователь. Пожалуйста, перезапустите Vagrant с этим пользователем. Это не проблема Бродяг.

UID, используемый для создания виртуальной машины: 0 Ваш UID: 501

Я также пробовал с sudo, но это тоже не сработало.

Мне нужно переключать UID? И как мне это сделать?

Ответы:


253

Сегодня я столкнулся с той же проблемой.
Я отредактировал свой UID , открыв файл .vagrant/machines/default/virtualbox/creator_uidи изменив 501 на 0 .

После того, как я сохранил файл, команда vagrant up работала как чемпион.

NB: .vagrantпапка находится в том же каталоге, что и ваш Vagrantfile, в котором вы запускалиvagrant up


64
Я оказался в такой же ситуации, у меня был tar-архив с машины ubuntu. Таким образом, простое удаление rm -rf .vagrantкаталога, созданного в ubuntu, также решило проблему.
Джефф Шеффилд

1
//, Ого, спасибо, @Fred! Stackoverflow служит нам наилучшим образом с помощью такого точного, трудного для поиска решения от того, кому уже приходилось иметь дело с ним раньше. Где я обычно нахожу .vagrantпапку на машинах с Unix?
Натан Басанезе,

1
Не уверен, @Nathan. Можете ли вы запустить команду locate для файла creator_uid? Попробуйте "найти creator_uid" в командной строке, чтобы найти путь к файлу для редактирования.
Фред

4
В моем случае creator_uid содержал «90210», но мой UID - 502. Вместо того, чтобы изменить UID в файле на 0, как предлагалось в этом решении, я изменил его на 502. Работало хорошо.
LS

5
.vagrantПапка @NathanBasanese находится там же, где и вы,vagrant up
Хариш Редди,

34

Разберитесь с этой проблемой в немного другой ситуации. Проблема заключалась в том, что ".vagrant" был зарегистрирован в репозитории git, а коммиттер работал под другим UID, чем я.

Решение: добавьте .vagrant в .gitignore.


15
Это была проблема, с которой я столкнулся; Однако, просто добавив .vagrantк .gitignoreбудет не решить проблему - YMMV, но git rm -rf .vagrantдолжен работать тоже.
Марко Массенцио

@marco: Вы абсолютно правы. если ".vagrant" был добавлен в репо, добавлять его в .gitignore впоследствии уже слишком поздно :)
Крис Когдон

8

Я столкнулся с той же проблемой, но в моем случае это было потому , что я побежал vagrant upпод sudo, и когда я вернулся к нему позже , я забыл.

Глупая ошибка, но я уверен, что это не первый раз, когда кто-то бывает :)


1
Та же проблема здесь, забыл запустить sudo. Но, к сожалению, сообщение об ошибке не очень свидетельствует об этом.
Zac Blazic

5

Я попытался изменить идентификатор в .vagrant \ machines \ default \ virtualbox \ creator_uid, и это не сработало для меня, но удалив файл, creator_uid сделал свое дело.



1

Согласно Руководству пользователя VirtualBox :

В качестве меры безопасности реализация внутренней сети в Linux позволяет виртуальным машинам, работающим под одним и тем же идентификатором пользователя, создавать внутреннюю сеть.

Другими словами, вам нужно переключиться на root ( UID 0), чтобы запустить его.


10
Не следует запускать от имени sudo, просто удалите каталог .vagrant и запускайте от имени пользователя
Джереми,

1

Возможно, вы выполнили команду: sudo vagrant up

Это будет означать, что как обычный пользователь вы не можете видеть или даже удалять /.vagrantпапку и файлы.

Если да, просто запустите: sudo vagrant destroy -f

Затем вы сможете запустить (как обычную учетную запись пользователя): vagrant up



0

У меня была такая же проблема после того, как я купил новый компьютер. Вместо того , чтобы копировать все файлы из моего старого компьютера, я должен был проверить бродячие проекты снова из мерзавца хранилища. После этого все vagrant upзаработало нормально.


0

Просто чтобы добавить к ответу Фреда https://stackoverflow.com/a/32256848/2065804 .

Убедитесь, что вы сменили правильную виртуальную машину. Например, мое имя виртуальной машины НЕ используется по умолчанию, а скорее называется homestead-7.

Итак, путь к правильному :

.vagrant/machines/homestead-7/virtualbox/creator_uid

и нет:

.vagrant/machines/default/virtualbox/creator_uid

Эта ошибка произошла со мной, когда я сменил свой Mac на другой Mac.


0

Удалите содержимое скрытого каталога .vagrant в текущем рабочем каталоге и повторно запустите команду vagrant up. Ошибка из-за копирования / резервного копирования Vagranfile / s из одной системы в другую. Несоответствие идентификатора пользователя Vagrant, чтобы вызвать среду .. надеюсь, что это поможет ура .. !! :)) если вы не хотите удалять эту папку, вы можете обновить uid текущего пользователя в файле в скрытом каталоге текущего рабочего каталога, то есть .vagrant / machines / jenkins / virtualbox $ vim creator_uid



0

У меня была та же проблема, которую я забыл разместить sudoраньше vagrant up, вам просто нужно выполнить ее sudo vagrant upв папке вашего бродячего файла.


0

У меня есть бродячий файл Multi-Machine. Я проверил, creator_uidи он 0все еще не загружается. Итак, я удалил creator_uidфайл для всех Multi-Machine, и он сработал. Путь должен быть.vagrant\machines\<machine_name>\virtualbox

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.