KVM guest无法写入非root用户拥有的9p共享

我的目标是为KVM访客build立一个9p共享的完全写访问权限。 主机和来宾都具有相同的用户/组具有相同的ID。 主机和客人都应该能够写入共享使用相同的用户名,我不想区分是否由主机或客人写的文件。 kvm进程以root身份运行 – 我在/etc/libvirt/qemu.conf中设置了usergroup

在主机的访客定义中,共享定义如下:

 <filesystem type='mount' accessmode='passthrough'> <source dir='/mnt/storage/data'/> <target dir='data'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </filesystem> 

在来宾中,共享被安装为:

 mount -t 9p -o rw,trans=virtio,version=9p2000.L,msize=262144 data /mnt/data 

问题是guest虚拟机中的root用户无法写入主机上的非root用户拥有的文件/文件夹。 更奇怪的是,客人的根可以重命名和删除这些文件。 也就是说,当我在主机上创build一个非root用户的文件时,我无法编辑它作为客户的根目录,即使我可以重命名和删除它!

我还发现,在非root用户下的主机上创build的文件夹的权限设置为777时,guest虚拟机的根可以写入(即在其中创build文件)。 但是,这并不适用于文件 – 无论权限如何,它们仍然无法编辑。

主机和客户机都运行Linux服务器3.2.0-4-amd64#1 SMP Debian 3.2.51-1 x86_64 GNU / Linux。 在Debian中,SELinux默认是禁用的,我没有启用它。 我尝试了所有三种可用的9p访问模式( passthroughmappedsquash ) – 没有区别。

只是想知道是否有什么我可以调整来得到它的工作,还是只是一个错误?

请注意,这里报告了类似的问题: 使用libvirt / qemu的passthrough(9p)文件系统的读/写访问权限? 但不同于这种情况,我拥有root权限的文件有100%的写访问权限,它只是非root用户文件,我甚至不能在guest虚拟机上写root。