如何防止 VirtualBox 更改 .vbox 文件的权限?

如何防止 VirtualBox 更改 .vbox 文件的权限?

我目前正在运行 Ubuntu 13.04,并且安装了 Windows 8 VirtualBox VM。我将 VM 的文件夹放在共享文件夹 (/home/sharedHome/) 中,该文件夹已分配给 vboxusers 组读写权限。这样我就可以从我的帐户启动 VM,而我的妻子也可以从她的帐户启动它。

唯一的问题是,当您从任一帐户启动虚拟机时,权限都会发生变化,因此只有该用户对 .vbox 文件具有读写权限。发生这种情况后,除非我再次进入并更改权限,否则另一个帐户将无法启动虚拟机。

有人知道如何防止 VirtualBox 更改权限吗?有没有更好的方法在用户之间共享虚拟机?

谢谢!

答案1

以下是基于VirtualBox 特殊图像写入模式文档特别是针对可共享硬盘映像的警告:

警告这是一项专家功能,误用可能会导致数据丢失——常规文件系统无法处理多方同时进行的更改。

我猜模式更改是为了减少意外共享图像的可能性。如果你们同时运行虚拟机,显然会造成混乱,而更改权限似乎是一种便宜又简单的方法,可以减少意外发生的可能性。

这确实让我怀疑您希望实现共享虚拟机的什么好处。为什么克隆基础映像并使用主机(而非客户机)存储用户数据文件不能令人满意?是的,我知道与同等的 Ubuntu 安装相比,Windows 安装大得离谱,但您可能想在这一点上自作聪明。

这还是答案吗?你决定吧。

答案2

我有相同的要求(两个用户共享虚拟机)和相同的问题(.vbox 文件仅对虚拟机的最后一个用户具有 rw 权限)。

为了解决这个问题我创建了一个同一文件夹中每个用户的 vbox 文件(例如,我们称它们为 xp_user1.vbox 和 xp_user2.vbox)。

流程如下:

  1. (用户 1)创建虚拟机。虚拟机、其快照和 .vbox 文件必须存储在两个用户(File|PreferencesMachine|Configuration)都可以访问的目录中。
  2. (用户 2)创建 .vbox 副本:

    cp xp_user1.vbox xp_user2.vbox

  3. (用户2)创建共享虚拟机

    选择Machine|Add...菜单项,导航到 xp_user2.vbox 位置,然后选择该文件。

    在 中File|Preferences,将默认机器路径设置为 .vbox 位置

注意事项:

  • 如果拍摄了快照,则必须更新 .vbox 副本

  • 如果一个用户还原了快照,则之前的活动用户将失去另一个用户的 rw 权限。假设两个用户都属于同一组:

    chmod 0660 snapshot
    
  • 我尝试将 .vbox 文件存储在不同的目录中,但没有成功(位置问题)。

相关内容