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?

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


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.


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 :)


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.


3

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


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.


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


0

Ejecute los siguientes comandos:

bash
sudo vagrant up

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.


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.


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


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

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.


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.