首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KVM来宾不能写入非root拥有的9p股份。

KVM来宾不能写入非root拥有的9p股份。
EN

Server Fault用户
提问于 2013-12-06 16:24:18
回答 3查看 7.5K关注 0票数 17

我的目标是为KVM客户设置对9p份额的完全写访问权限。主机和来宾都有相同的用户/组具有相同的ID。主机和来宾都应该能够使用相同的用户名写入共享,我不想区分文件是由主机还是由来宾编写的。kvm进程作为root运行--我在/etc/libvirt/qemu.conf中将usergroup设置为root

在主机上的来宾定义中,共享定义如下:

代码语言:javascript
复制
<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>

在客人中,该份额被挂载为:

代码语言:javascript
复制
mount -t 9p -o rw,trans=virtio,version=9p2000.L,msize=262144 data /mnt/data

问题是,来宾中的根用户不能写入主机上非根用户拥有的文件/文件夹。更奇怪的是,客户的根可以重命名和删除这些文件。也就是说,当我在主机上以非根用户的身份创建一个文件时,我就不能将其编辑为来宾的根,即使我可以重命名和删除它!

我还发现,如果在非根用户下在主机上创建的文件夹的权限设置为777,则客户的根可以写入该文件夹(即在其中创建文件)。然而,这并不适用于文件--不管权限如何,它们仍然不能被编辑。

主机和来宾都在运行Linux 3.2.04-AMD 64 #1 SMPDebian3.2.51-1 x86_64 GNU/Linux。在Debian中,默认情况下SELinux是禁用的,而我没有启用它。我尝试了所有三种可用的9p访问模式(passthroughmappedsquash) --没有区别。

只是想知道是否有什么东西我可以调整,让它工作,还是它只是一个bug?

注意,这里有一个类似的问题:使用libvirt/qemu对通过(9p)文件系统进行读/写访问?,但与这种情况不同的是,在根用户拥有的文件中,我有100%的写访问权限,这只是我无法写入的非根用户文件,甚至不能作为来宾的根文件。

EN

回答 3

Server Fault用户

发布于 2021-02-17 21:31:43

我也遇到过类似的问题,也没能让它和9p一起工作,就像其他评论者说的那样,9p还不成熟。

最后,我使用samba挂载了一个主机文件系统,它运行得很好。任何其他网络文件系统也可能完成这项工作(例如,Red推荐的NFS;请参阅@Di角注释https://access.redhat.com/discussions/1119043中的链接)。

票数 1
EN

Server Fault用户

发布于 2019-04-28 07:20:52

您能否检查文件系统的其他属性,如acl在共享目录上的属性?我怀疑许可问题。

票数 0
EN

Server Fault用户

发布于 2020-04-17 08:28:37

在我的例子中,kvm环境在用户libvirt下运行。(默认)那么,如果主机上的/mnt/storage/data为libvirt-qemu.kvm所拥有,并且部署了chmod 0777 /mnt/storage/data,那么它对我是有效的。我可以创建一个dir作为普通用户(用于客户端的ex /mnt/storage/data/test/ ),根用户可以完成您所要求的所有任务。(更重要的是,每个用户都是来宾,甚至可以删除根用户拥有的每个文件。我通过将主机的权限从777改为775来解决这个问题。如果来宾中的用户是组的一部分,他可以做任何事情,如果没有,他只拥有读取权限.)

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/559726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档