在 Virtualbox VM 中如何设置文件系统权限?

在 Virtualbox VM 中如何设置文件系统权限?

我有一个 virtualbox 虚拟机,在我的 Windows PC 上运行 arch Linux(不幸的是我必须使用它来工作)。我使用它在具有 Linux 环境的 Windows PC 上工作,作为 Cygwin 的替代方案。

我已经设置了一个 Virtualbox 共享文件夹,它与我的 Linux VM 共享我的 C:\ 驱动器,但我似乎无法更改任何文件夹中的文件权限。这是一个问题,因为现在 git 认为我的所有文件权限都已更改。

» ll README.txt
-rwxrwx--- 1 root vboxsf 4.5K Oct 28 10:42 README.txt
» chmod 644 README.txt
» ll README.txt
-rwxrwx--- 1 root vboxsf 4.5K Oct 28 10:42 README.txt
» sudo chmod 644 README.txt
» ll README.txt
-rwxrwx--- 1 root vboxsf 4.5K Oct 28 10:42 README.txt
» git diff README.txt | cat
diff --git a/README.txt b/README.txt
old mode 100644
new mode 100755

我该如何解决?

该文件夹是在 Windows 上使用 VirtualBox Manager 中的 Automount 进行安装的。

答案1

这将不起作用,因为您在文件系统(即 Windows C: 驱动器,因此很可能是 NTFS)中映射的主机不太可能支持 Linux git 期望的全部权限位。

在类似的情况下,我通过 Samba 导出了一个 Linux 目录,并在 Windows 和 Linux 中使用该目录,没有出现任何问题。然而,这有一个缺点,即当虚拟机未运行时您无法访问数据。

答案2

对于Linux来说,挂载到主机上的文件系统是挂载在外机上的,因此它对该系统中的文件的权限没有任何控制权。该控件属于主机。因此,您需要调整您可以控制的驱动器部分的权限。

我将 Virtual Box 链接到 Documents 文件夹的子目录。这样我就可以开放权限,而不必担心损坏主机系统操作系统文件。

相关内容