我想配置 1 个共享文件夹/home/host/shared
,并将符号链接放置到该目录中的其他共享项目,shared
以使它们可以被来宾计算机访问,例如/home/host/shared/d1 --> /home/host/a_linked_dir
.这样我就可以在使用虚拟机时修改文件和目录,而无需更改 Virtualbox 中的配置,并且可以轻松地将多个虚拟机配置为使用单个共享文件夹。但是,放置符号链接/home/guest/shared/link --> /home/host/shared/f1
不允许来宾计算机访问链接目录,而只是指向来宾计算机上不存在的目标。
有没有办法在 Virtualbox 中的主机和来宾虚拟机之间使用符号链接?
答案1
这是按设计工作的。如果您的访客被允许访问原始共享之外的文件/目录(这正是您提议的场景中会发生的情况),那么主机上的安全性将毫无意义。
我认为你最好的选择是(2)件事:
- 创建更高级别的共享,以便任何新目录将自动成为共享文件系统的一部分。
- 使用相对链接(在主机上)以使目录结构(在来宾上)保持完整。这样,客人上的挂载点就不再重要了。
答案2
可能有点晚了,但可能对其他人有用。我花了很长时间试图弄清楚这一点。
Linux 主机/来宾有 2 个共享文件夹。
1 个共享文件夹包含主机创建的指向其他共享文件夹的符号链接,来宾正在尝试解析这些链接,但无法跟踪它们,因为来宾的路径不正确(即符号链接指向/media/folder/file.aaa
(存在于主机上)而不是/media/sf_folder/file.aaa
(是文件夹在客户机上映射到的位置)。
因此,我正打算走 samba 路线,但有一个更简单的解决方案,如果您/etc/modprobe.d/vboxsf.conf
在来宾上创建一个 drop in file: 并其中包含这一行:
options vboxsf follow_symlinks=1
然后重新启动来宾,主机现在将解析符号链接,以便来宾可以跟随它们!