9p / virtfs:共享文件夹中的新文件不属于预期的用户和组

9p / virtfs:共享文件夹中的新文件不属于预期的用户和组

在过去的两天里,我尝试在主机和客户虚拟机之间共享一个文件夹,两者都运行最新的 Debian Stretch。

我希望共享的文件夹归主机硬盘上的myuser, 组所有 ( )。由于客户机是运行 Nextcloud 的 LAMP 服务器,因此我希望以 的身份访问和写入此共享文件夹。mygroup/srv/sharedfolderwww-data:www-data

Default因此我使用驱动程序和模式创建了一个 libvirt 的文件系统Mapped

<filesystem type='mount' accessmode='mapped'>
    <source dir='/srv/sharedfolder'/>
    <target dir='sharedfolder'/>
    <alias name='fs0'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</filesystem>

Mapped似乎是个不错的选择,正如suse.com

用户凭据和客户端用户的凭据保存在扩展属性中。当主机和来宾域应保持完全隔离时,建议使用此模型。


在主机端

  • 用户和组/etc/libvirt/qemu.conf设置myusermygroup
  • 共享文件夹已被“chmode”chmod 775

客人方面

  • 共享文件夹的挂载点属于www-data:www-data
  • fstab(以 kernel.org 为参考):

    共享文件夹 /srv/sharedfolder 9p trans=virtio,version=9p2000.L,rw,nofail 0 0


迄今为止,我可以读写共享文件夹这样www-data一来,任务看上去就完成了。

但是,当在共享文件夹内创建新文件时,myuser新文件被视为属于myuser:myuser客人(而我预计它将由 拥有www-data:www-data)。

那我该怎么办?提前谢谢。

相关内容