![在 Virtualbox VM 中如何设置文件系统权限?](https://linux22.com/image/58369/%E5%9C%A8%20Virtualbox%20VM%20%E4%B8%AD%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%9D%83%E9%99%90%EF%BC%9F.png)
我有一个 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 文件夹的子目录。这样我就可以开放权限,而不必担心损坏主机系统操作系统文件。