问题

问题

情况是这样的——

  1. 我有一个 1TB 驱动器安装在/data.
  2. 桌面上有多个本地用户。全部都在localusers群里
  3. 我有一个 virtualbox 虚拟机,其 50 GB VDI dsik 存储在/data/common/vms

我希望该组的所有成员都可以使用 virtualbox 虚拟机localusers

到目前为止我所做的:

  1. 作为主用户,创建虚拟机
  2. 将 vbox 机器文件夹移动到/data/common/vbox[所以如果机器是 Win10Pro,那么我的文件夹位于/data/common/vbox/Win10Pro]
  3. 组权限 - 文件夹组localuserschmod -R g+rw /data/common/vbox /data/common/vms
  4. 复制~/.Virtualbox/Virtualbox.xml并调整默认计算机文件夹和计算机条目以指向/home/user/VirtualBox VMs
  5. ln -sf /data/common/vbox/Win10Pro ~/VirtualBox VMs/Win10Pro对于每个用户

问题

这只有效一次...如果作为用户 XI 打开 virtualbox 并启动计算机,则/data/common/Win10Pro/*在 Virtualbox GUI 退出后,文件的权限将仅恢复为该用户的 rw。

附:早些时候,我使用 toe 将磁盘格式化为 exfat,并且能够使用 uid 和 gid 掩码实现共享磁盘/虚拟机,但这不适用于 ext4。

答案1

对于那些遇到类似困境的人,我在 Reddit 上发布了这个问题,很快就被指出了正确的方向

基本上:

  1. 设置setgid共享文件夹上的位/data/common
  2. rwx将用户和组的默认 acl 设置为:setfacl -d -m u::rwx,g::rwx,o::r-x /data/common

此处提供了更详细的演练 http://brunogirin.blogspot.com/2010/03/shared-folders-in-ubuntu-with-setgid.html

这篇文章来自 2010 年 - 所以唯一的区别是我不需要安装任何软件包或设置安装选项 - ACL 默认情况下处于启用状态

相关内容