Ich verwende eine virtuelle Fedora Workstation-Maschine auf einem Ubuntu-Host.
Ich habe einen Ordner /home/cl/share
im Gast angelegt und den freigegebenen Ordner /media/cl/system/virtual/share
als root gemountet. Befolgen Sie dazu die Anweisungen von linux-kvm :
mount -t 9p -o trans=virtio,version=9p2000.L /host /home/cl/share
Ich kann von freigegebenen Ordnern aus auf Dateien und Ordner zugreifen (diese lesen), aber nicht darauf schreiben.
Ein Beispiel: Ich versuche, die Datei mount-share.txt
im Ordner zu speichern /home/cl/share
.
Beide Ordner (Host und Gast) haben Lese- und Schreibrechte, trotzdem erhalte ich die Fehlermeldung
Error opening file '/home/cl/share/mount-share.txt': Operation not permitted.
- Host-Betriebssystem: Ubuntu 15.10 Desktop 64-Bit
- Gastbetriebssystem: Fedora 23 Workstation 64-Bit
- Virtualisierungssoftware:
qemu
qemu-kvm
virt-manager
- Standort des Hostsystems: 1. integrierte SSD - ext4-Format
- Virtueller Speicherort: 2. eingebaute Festplatte - NTFS-Format
- Speicherort für freigegebene Ordner: 2. integrierte Festplatte - NTFS-Format
Wie kann ich ein Verzeichnis zwischen Gast und Host freigeben und dem Gast Lese- und Schreibzugriff gewähren?
sudo chmod a+x /media/cl
und sudo chmod -R 777 /media
hat die Situation nicht geändert.
Gastsystem:
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: -
Host-System:
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
quelle
Antworten:
Ich konnte das Problem auf meinem System reproduzieren.
Ihr Hauptproblem sind die ACL-Einschränkungen Ihres Hosts.
Aus diesem Grund ändern Sie die ACL-Attribute des
libvirt-qemu
Benutzers:Ändern Sie die ModeEinstellungen für Filesystem /host von
Passthrough
bisMapped
.Warum? Das ist der Grund, warum:
Ihr Gastsystem wird als
libvirt-qemu
Benutzer ausgeführt und Ihre ACL-Einstellungen schränken die Berechtigungen dieses Benutzers ein.Die korrekte Ausgabe von
getfacl
sollte sein:quelle
Wenn es Ihr primäres Ziel ist, Dateien nur hin und her zu teilen und Sie offen für die Verwendung von TCP sind, können Sie Dateien einfach über ssh oder ähnliches freigeben.
Wenn Sie beispielsweise einen lokalen Port auf einen vernünftigen Port des Gasts umleiten, sollten Sie diesen Port für den Zugriff verwenden können. Ich benutze SSH / SCP.
Beim Starten meiner VM:
Um auf die VM zuzugreifen, verwende ich SSH. Ich öffne ein Terminal auf meinem Hostrechner:
fish
odersshfs
in jedem GUI-Dateimanager, den Sie verwenden, funktioniert es genauso gut, solange Sie den Port festlegen.quelle