J'exécute une machine virtuelle Fedora Workstation sur un hôte Ubuntu.
J'ai créé un dossier /home/cl/share
dans l'invité et monté le dossier partagé en /media/cl/system/virtual/share
tant que root en suivant les instructions de linux-kvm :
mount -t 9p -o trans=virtio,version=9p2000.L /host /home/cl/share
Je peux accéder (lire) aux fichiers et dossiers à partir de dossiers partagés, mais je ne peux pas y écrire.
Un exemple: j'essaie d'enregistrer le fichier mount-share.txt
dans le dossier /home/cl/share
.
Les deux dossiers (hôte et invité) ont des autorisations de lecture-écriture, néanmoins je reçois l'erreur
Error opening file '/home/cl/share/mount-share.txt': Operation not permitted.
- Système d'exploitation hôte: Ubuntu 15.10 desktop 64-bit
- Système d'exploitation invité: station de travail Fedora 23 64 bits
- Logiciel de virtualisation:
qemu
qemu-kvm
virt-manager
- Emplacement du système hôte: 1er SSD intégré - format ext4
- Emplacement de stockage virtuel: 2ème disque dur intégré - format NTFS
- Emplacement des dossiers partagés: 2ème disque dur intégré - format NTFS
Comment partager un répertoire entre l'invité et l'hôte et autoriser l'accès en lecture-écriture à l'invité?
sudo chmod a+x /media/cl
et sudo chmod -R 777 /media
n'a pas changé la situation.
Système invité:
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: -
Système hôte:
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
la source
Réponses:
Je pourrais reproduire le problème sur mon système.
Votre principal problème réside dans les restrictions ACL de votre hôte.
Pour cette raison, modifiez les attributs ACL de l'
libvirt-qemu
utilisateur:Modifiez les Modeparamètres de Filesystem /host de
Passthrough
àMapped
.Pourquoi? C'est la raison pour laquelle:
Votre système invité s'exécute en tant
libvirt-qemu
qu'utilisateur et vos paramètres ACL restreignent les autorisations de cet utilisateur.La sortie correcte de
getfacl
doit être:la source
Si votre objectif principal est simplement de partager des fichiers dans les deux sens, et que vous êtes ouvert à l'utilisation de TCP, vous pouvez simplement partager des fichiers sur ssh ou similaire.
Par exemple, si vous redirigez un port local vers un port sensible sur l'invité, vous devriez pouvoir utiliser ce port pour l'accès. J'utilise SSH / SCP.
Lors du lancement de ma VM:
Et puis pour accéder à la VM, j'utilise SSH; J'ouvre un terminal sur ma machine hôte:
fish
ousshfs
dans le gestionnaire de fichiers GUI que vous utilisez fonctionne aussi bien, tant que vous définissez le port.la source