Saltar al contenido

Problemas de permisos de archivo con carpetas compartidas en Virtual Box (Ubuntu Guest, Windows Host)

Solución:

La forma habitual de obtener acceso a los archivos ahora es permitir que VirtualBox monte automáticamente la carpeta compartida (lo que hará que aparezca en /media/sf_directory_name) y luego agregar su usuario habitual de Ubuntu al vboxsf grupo (como raíz #).

# usermod -aG vboxsf <youruser>

De forma predeterminada, sin acción manual, las monturas se ven así,

drwxrwx--- 1 root vboxsf 40960 Oct 23 10:42 sf_<name>

entonces el vboxsf el grupo tiene acceso completo. Al agregar su usuario a ese grupo, obtiene acceso completo. Para que no se preocupe por cambiar sus permisos (lo que no tiene sentido en el host de Windows), simplemente se da acceso a sí mismo.

En este caso específico, esta es la carpeta compartida montada automáticamente,

Ubuntu               214153212  31893804 182259408  15% /media/sf_Ubuntu

y es ese directorio el que debe usarse para acceder a la carpeta compartida, colocando el usuario local en el vboxsf grupo. Si desea un enlace “mejor” en el directorio de inicio de su usuario, siempre puede crear un enlace simbólico.

ln -s /media/sf_Ubuntu /home/m/Desktop/vbox_shared

Deberá reiniciar su máquina virtual para que estos cambios surtan efecto

Si monta manualmente la carpeta compartida, debe usar las opciones relevantes en el mount comando para configurar la carpeta con la propiedad correcta (es decir, las opciones gid, uid y umask para mount). Esto se debe a que el sistema operativo host no admite el mismo sistema de permisos que Linux, por lo que VirtualBox no tiene forma de saber quién debería ser el propietario de los archivos.

Sin embargo, yo recomiendo encarecidamente configurar la carpeta compartida para que se monte automáticamente (es una configuración de la carpeta compartida en VirtualBox).


Para evitar dudas, no creo que pueda cambiar los permisos normalmente de todos modos, en ese sistema de archivos si está montado de la forma habitual,

[email protected]:/media/sf_name$ ls -l tst.txt
-rwxrwx--- 1 root vboxsf 2283 Apr  4  2012 tst.txt
[email protected]:/media/sf_name$ sudo chown tony tst.txt
[sudo] password for tony: 
[email protected]:/media/sf_name$ ls -l tst.txt
-rwxrwx--- 1 root vboxsf 2283 Apr  4  2012 tst.txt
[email protected]:/media/sf_name$ 

Habilite el acceso completo de lectura y escritura a una carpeta compartida en un host de Windows desde un invitado de Ubuntu para un usuario de Linux no root

Este paso le permitirá acceder a un directorio determinado en su máquina host de Windows desde el terminal invitado de Linux. En este ejemplo, el nombre del recurso compartido desde la perspectiva de OVB será vshare (que es el predeterminado), la ruta completa del directorio al sistema operativo Windows (el sistema operativo host) será “C: var ” y la ruta completa del archivo para acceder a él desde la vm de invitado será “/ vagrant”. Finalmente, el nombre del usuario para habilitar el acceso completo de lectura / escritura será “usted”.

 # how-to add a shared folder on the host
 VBoxManage sharedfolder add "host-name" -name "vshare" -hostpath "C:var" -automount

1. Instale los requisitos previos de Guest Additions

Instale los requisitos previos de Guest Additions emitiendo el siguiente comando:

 sudo apt-get install -y build-essential make gcc  linux-headers-$(uname -r) 
 linux-headers-generic make linux-source  linux-generic linux-signed-generic

2. Instale Guest Additions

No utilice el archivo .iso para descargar y ejecutar el instalador desde allí, ¡simplemente no funcionará!

sudo apt-get install virtualbox-guest-dkms 

3. Monte automáticamente el recurso compartido en el arranque

Configure el directorio compartido para que se monte automáticamente en el arranque vm agregando las siguientes líneas al final de su archivo / etc / fstab (tenga en cuenta la configuración “vshare” y el uid = 10001):

/media/sf_vshare /vagrant vboxsf bind,uid=10001,rw,umask=0000 0 0
# eof file: /etc/fstab 

4. Agréguese al grupo vboxsf

# mount
sudo mount -a

sudo usermod -G vboxsf -a you 

5. Reinicie y verifique

Reinicie la máquina virtual e inicie sesión a través de ssh para verificar el intercambio de archivos.

# ssh to the vm
ssh [email protected]

# check as yourself that you have access
find /vagrant

Acabo de tener el mismo problema con mi carpeta compartida Win-Ubuntu, y la forma en que lo resolví fue agregando a mi usuario al grupo vboxsf, editando el archivo / etc / group. Espero que esto funcione para usted. Aquí abajo puede encontrar un breve esquema de cómo edité el archivo.

(edit /etc/group)
...
...
...
pulse:x:119:
pulse-access:x:120:
utempter:x:121:
rtkit:x:122:
saned:x:123:
openquake:x:1000:
sambashare:x:124:openquake,luisa
vboxsf:x:999:openquake,luisa   ##This is the line I add my user
postgres:x:125:
rabbitmq:x:126:
celery:x:500:
luisa:x:1001:

Luisa.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *