Cómo hacer que el SO invitado siga los enlaces simbólicos de la carpeta compartida

18

Tengo Ubuntu Desktop como mi SO principal y Ubuntu Server como mi SO invitado en VirtualBox 4.2.16.

Creé una carpeta compartida llamada / shared y puse varios enlaces simbólicos a diferentes carpetas en mi sistema operativo principal. Por supuesto, mi sistema operativo invitado solo ve enlaces simbólicos rotos, porque estas ubicaciones solo existen en el sistema operativo principal.

¿Cómo puedo hacer que mi SO invitado vea el contenido real de ellos?

Crear otra carpeta compartida no es una opción.

dev9
fuente
1
Para su información, si su host es windows7,8,10, entonces debe seguir las instrucciones en la respuesta Y luego también sudo iniciar la VM (también conocido como "ejecutar como administrador") como se ve en esta publicación de blog sobre las carpetas compartidas de VM invitados Linux con enlaces simbólicos en Windows host .
Trevor Boyd Smith

Respuestas:

23

Es un problema en virtualBox y tiene que ver con la seguridad. Antes de 4.1.8, los enlaces simbólicos funcionaban pero presentaban graves fallas. Y se tomó la decisión de eliminar el soporte de enlaces simbólicos.

Ver este comentario :

La creación de enlaces simbólicos desde un invitado se ha deshabilitado en VirtualBox 4.1.8 por razones de seguridad. Un invitado podría crear enlaces simbólicos que apuntan fuera del directorio de host asignado. Esto no tiene nada que ver con ningún error ext3 / ext4. Y el invitado aún puede leer los enlaces simbólicos que se crean en el host.

Perdón por la declaración tardía.

Si lo haces

 VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1

Entonces su invitado podrá crear enlaces simbólicos nuevamente. Pero por razones de seguridad (ver arriba) esto está deshabilitado por defecto. La solución para evitar enlaces simbólicos peligrosos del invitado es muy complicada, por lo tanto, decidimos no permitir que ningún invitado cree ningún enlace simbólico para solucionar el problema de seguridad.

(Me tomé la libertad de corregir un error en el comentario;))

  • y también tenga en cuenta que necesita reiniciar vBox para que se active el cambio.
Rinzwind
fuente
Ejecuté este comando y reinicié VB. El color del enlace simbólico ha cambiado, pero ahora ni siquiera puedo incluirlo. Lo veo cuando uso ls, pero bash dejó de mostrarme en TAB.
dev9
¿Parece que no es ejecutable?
Rinzwind
Bueno, ls me muestra lrwxrwx ---, así que debería estar bien. Cuando trato de cd en él, bash me dice que no hay tal archivo o directorio.
dev9
3
¿Qué es SHARE_NAME? Nadie lo explica claramente de dónde lo sacamos.
Meglio
3
La carpeta que usa para compartir.
Rinzwind
1

La respuesta corta es que no se puede hacer.

El siguiente boleto en virtualbox.org tiene algunas aclaraciones:

Este cambio es intencional y soluciona un problema con la implementación actual de carpetas compartidas. Por compatibilidad con sistemas operativos invitados que no tienen idea de qué es un enlace simbólico, en este momento se interpreta en el lado del host, y esto significa que uno obtiene un comportamiento inesperado con sistemas operativos invitados que saben qué es un enlace simbólico (por ejemplo, si se montó un enlace simbólico en una carpeta compartida at / foo apuntaría a / bar / file es imposible hacer lo correcto en el lado del host).

Por supuesto, es reparable, pero lejos de ser trivial, ya que la separación del procesamiento de enlaces simbólicos entre el lado del sistema operativo invitado y el lado del host debe rediseñarse. Esto no se puede hacer rápidamente, por lo que la única opción era deshabilitar la creación de enlaces simbólicos. Demasiados usuarios / aplicaciones fueron sorprendidos por el comportamiento no estándar.

Fuente

Sylvain Pineau
fuente