Vagabundo no se inicia. El usuario que creó la VM no coincide con el usuario actual

123

Estaba tratando de iniciar mi máquina vagabunda, así que navegué a la carpeta donde está mi archivo vagabundo y usé:

vagabundo y & s vagabundo ssh

pero recibí el siguiente mensaje de error:

VirtualBox VM se creó con un usuario que no coincide con el usuario actual que ejecuta Vagrant. VirtualBox requiere que se use el mismo usuario para administrar la VM que se creó. Vuelva a ejecutar Vagrant con ese usuario. Este no es un problema vagabundo.

El UID utilizado para crear la VM fue: 0 Su UID es: 501

También probé con sudo, pero tampoco funcionó.

¿Necesito cambiar los UID? ¿Y cómo haría esto?

Luke
fuente

Respuestas:

252

Me encontré con el mismo problema hoy.
Edité mi UID abriendo el archivo .vagrant/machines/default/virtualbox/creator_uidy cambiando el 501 a 0 .

Después de guardar el archivo, el comando vagabundo funcionó como un campeón.

NB: la .vagrantcarpeta está en el mismo directorio que su Vagrantfile, donde ejecutóvagrant up

Fred
fuente
64
Me encontré en la misma situación, había alquilado un tarball desde una máquina ubuntu. Entonces, simplemente eliminar el rm -rf .vagrantdirectorio que se creó en ubuntu también resolvió el problema.
Jeff Sheffield
1
// ¡Guau, gracias, @Fred! Stackoverflow nos sirve en su mejor momento con este tipo de solución precisa y difícil de encontrar de alguien que ha tenido que lidiar con eso antes. ¿Dónde encontraré generalmente la .vagrantcarpeta en máquinas basadas en Unix?
Nathan Basanese
1
No estoy seguro, @Nathan. ¿Se puede ejecutar un comando de localización para el archivo creator_uid? Intente "localizar creator_uid" en la línea de comando para encontrar la ruta al archivo para editar.
Fred
44
En mi caso, el creator_uid contenía "90210", pero mi UID es 502. En lugar de cambiar el UID en el archivo a 0 como sugiere esta solución, lo cambié a 502. Funcionó bien.
LS
55
La .vagrantcarpeta @NathanBasanese se encuentra en el mismo lugar que usted ejecutóvagrant up
Harish Reddy
33

Me encontré con este problema en una situación ligeramente diferente. El problema era que ".vagrant" estaba registrado en el repositorio de git, y el committer se estaba ejecutando con un UID diferente al que yo tenía.

Solución: agregue .vagrant a .gitignore.

Chris Cogdon
fuente
15
Este fue el problema que enfrenté; Sin embargo, sólo tiene que añadir .vagranta .gitignorelo que no resolver el problema - Tu caso es distinto, pero git rm -rf .vagrantdebe funcionar también.
Marco Massenzio
@marco: Tienes toda la razón. si se agregó ".vagrant" al repositorio, agregarlo a .gitignore después es demasiado tarde :)
Chris Cogdon
8

Me encontré con el mismo problema, pero en mi caso fue porque me había quedado sin vagrant updinero sudo, y cuando volví a eso más tarde lo había olvidado.

Error tonto, pero estoy seguro de que no es la primera vez que le sucede a alguien :)

ConorLuddy
fuente
1
Mismo problema aquí, olvidé correr bajo sudo. Pero el mensaje de error no es muy indicativo de eso desafortunadamente.
Zac Blazic
5

Intenté cambiar la identificación en .vagrant \ machines \ default \ virtualbox \ creator_uid y eso no funcionó para mí, pero eliminar el archivo, creator_uid hizo el truco.

Canje027
fuente
3

simplemente cambie la identificación de usuario aquí .vagrant / machines / default / virtualbox / creator_uid

Oleg Tokar
fuente
1

De acuerdo con el Manual de usuario de VirtualBox :

Como medida de seguridad, la implementación de Linux de la red interna solo permite que las máquinas virtuales que se ejecutan con la misma ID de usuario establezcan una red interna.

En otras palabras, debe cambiar a root ( UID 0) para ejecutarlo.

dmargol1
fuente
10
No debería ejecutarse como sudo, simplemente elimine su directorio .vagrant y ejecútelo como su usuario
Jeremy
1

Es posible que haya ejecutado el comando: sudo vagrant up

Esto significaría que, como usuario habitual, no puede ver ni eliminar la /.vagrantcarpeta y los archivos.

Si es así, simplemente ejecute: sudo vagrant destroy -f

Entonces debería poder ejecutar (como su cuenta de usuario normal): vagrant up

Brandon
fuente
0

Ejecute los siguientes comandos:

bash
sudo vagrant up
vixadd
fuente
0

Tuve el mismo problema después de comprar una computadora nueva. En lugar de copiar todos los archivos de mi computadora anterior, tuve que revisar los proyectos vagos nuevamente desde el repositorio de git. Después de eso, vagrant upfuncionó bien.

Matschmann
fuente
0

Solo para agregar a la https://stackoverflow.com/a/32256848/2065804 respuesta de Fred .

Asegúrese de haber cambiado la máquina de VM correcta. Por ejemplo, mi nombre de máquina virtual NO es el predeterminado sino que se llama homestead-7.

Entonces el camino hacia el correcto es:

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

y no:

.vagrant/machines/default/virtualbox/creator_uid

Este error me ocurrió cuando cambié mi Mac a otra Mac.

Abdul Rahman A Samad
fuente
0

Elimine el contenido del directorio oculto .vagrant en el directorio de trabajo actual y vuelva a ejecutar el comando vagrant up. Error, debido a la copia / copia de seguridad de Vagranfile / s de un sistema a otro. La identificación del usuario no coincide con el Vagrant para mostrar el medio ambiente ... ¡espero que ayude! :)) si no desea eliminar esa carpeta, puede actualizar el uid del usuario actual en el archivo en el directorio oculto del directorio de trabajo actual, es decir .vagrant / machines / jenkins / virtualbox $ vim creator_uid

Shiva Krishna
fuente
0

Me he enfrentado a la misma situación, pero tengo un Vagrantfile de varias máquinas .

Para reemplazar el viejo uid (1001) por el nuevo (1000) he usado el siguiente comando:

for i in $(find . -type f -iname "creator_uid" ) ; do echo 1000 > $i ; done
Rodrigo Justino da Costa
fuente
0

Tuve el mismo problema que había olvidado colocar sudoantes vagrant up, solo tiene que ejecutar sudo vagrant upen la carpeta de su archivo vagabundo.

luis matos
fuente
0

Tengo un archivo vagabundo Multi-Machine. He comprobado el creator_uidy es 0pero todavía no se puede cargar. Así que he eliminado el creator_uidarchivo para todas las máquinas múltiples y funcionó. Camino debe ser.vagrant\machines\<machine_name>\virtualbox

vkrams
fuente