Estoy ejecutando una máquina virtual Fedora Workstation en un host Ubuntu.
Creé una carpeta /home/cl/share
en el invitado y monté la carpeta compartida /media/cl/system/virtual/share
como root siguiendo las instrucciones de linux-kvm :
mount -t 9p -o trans=virtio,version=9p2000.L /host /home/cl/share
Puedo acceder (leer) archivos y carpetas desde carpetas compartidas, pero no puedo escribirles.
Un ejemplo: estoy tratando de guardar el archivo mount-share.txt
en la carpeta /home/cl/share
.
Ambas carpetas (host e invitado) tienen permisos de lectura y escritura, sin embargo, recibo el error
Error opening file '/home/cl/share/mount-share.txt': Operation not permitted.
- Sistema operativo host: escritorio Ubuntu 15.10 de 64 bits
- Sistema operativo invitado: estación de trabajo Fedora 23 de 64 bits
- Software de virtualización:
qemu
qemu-kvm
virt-manager
- Ubicación del sistema host: primer SSD incorporado - formato ext4
- Ubicación de almacenamiento virtual: segundo disco duro incorporado - formato NTFS
- Ubicación de carpetas compartidas: segundo HDD incorporado - formato NTFS
¿Cómo puedo compartir un directorio entre el invitado y el host y permitir el acceso de lectura y escritura del invitado?
sudo chmod a+x /media/cl
Y sudo chmod -R 777 /media
no cambió la situación.
Sistema de invitados:
ls -la /home/cl/share
total 16
drwxrwxrwx. 1 cl cl 4096 20. Jan 14:41 .
drwx------. 18 cl cl 4096 24. Jan 19:11 ..
drwxrwxrwx. 1 cl cl 4096 17. Dez 09:49 fedora
drwxrwxrwx. 1 cl cl 0 5. Jan 11:43 solus
drwxrwxrwx. 1 cl cl 0 6. Jan 12:10 ubuntu
drwxrwxrwx. 1 cl cl 4096 24. Jan 16:58 various
stat /home/cl/share
File: ‘/home/cl/share’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 25h/37d Inode: 135 Links: 1
Access: (0777/drwxrwxrwx) Uid: ( 1000/ cl) Gid: ( 1000/ cl)
Access: 2016-01-27 10:11:12.566303000 +0100
Modify: 2016-01-26 21:34:48.647707300 +0100
Change: 2016-01-26 21:34:48.647707300 +0100
Birth: -
Sistema host:
ls -ld /media /media/cl/ /media/cl/system /media/cl/system/virtual/ /media/cl/system/virtual/share
drwxr-xr-x 3 root root 4096 Okt 22 16:06 /media
drwxr-x---+ 6 root root 4096 Jan 24 10:49 /media/cl/
drwxrwxrwx 1 cl cl 4096 Jan 19 15:28 /media/cl/system
drwxrwxrwx 1 cl cl 4096 Jan 22 13:43 /media/cl/system/virtual/
drwxrwxrwx 1 cl cl 4096 Jan 20 14:41 /media/cl/system/virtual/share
getfacl /media/cl/
getfacl: Removing leading '/' from absolute path names
# file: media/cl/
# owner: root
# group: root
user::rwx
user:libvirt-qemu:--x
user:cl:r-x
group::---
mask::r-x
other::---
ps aux | grep virt
root 988 0.0 0.2 1207024 39888 ? Ssl 12:48 0:01 /usr/sbin/libvirtd
libvirt+ 1204 0.0 0.0 45268 2720 ? S 12:48 0:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
root 1207 0.0 0.0 45240 368 ? S 12:48 0:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
cl 4204 0.0 0.0 15184 2532 pts/2 S+ 14:06 0:00 grep --color=auto virt
fuente
Respuestas:
Podría reproducir el problema en mi sistema.
Su principal problema son las restricciones de ACL de su host.
Por esta razón, cambie los atributos de ACL del
libvirt-qemu
usuario:Cambie la Modeconfiguración de Filesystem /host de
Passthrough
aMapped
.¿Por qué? Esa es la razón por la cual:
Su sistema invitado se ejecuta como
libvirt-qemu
usuario y su configuración de ACL restringe los permisos de este usuario.La salida correcta de
getfacl
debería ser:fuente
Si su objetivo principal es simplemente compartir archivos de un lado a otro, y está abierto a usar TCP, simplemente puede compartir archivos a través de ssh o similar.
Por ejemplo, si redirige un puerto local a un puerto sensible en el invitado, debería poder usar ese puerto para acceder. Yo uso SSH / SCP.
Al iniciar mi VM:
Y luego para acceder a la VM, uso SSH; Abro una terminal en mi máquina host:
fish
osshfs
en cualquier administrador de archivos GUI que use funciona igual de bien, siempre que configure el puerto.fuente