关注网络共享中的 Windows SymLink

关注网络共享中的 Windows SymLink

我有一个共享文件夹,我们把它命名为

e:\folder2\

“每个人”都对共享和文件系统有读取权限。

从命令行,使用 pwd at

e:\folder2\

我跑了

mklink /D slF1 e:\folder1

两个文件夹(文件夹 1、文件夹 2)的权限相同(每个人都具有网络访问和文件系统访问的读取权限)

当我尝试打开

\\thismachine\folder2\slF1\

我收到可访问性错误。

这能行得通吗?如果行得通,那有什么诀窍呢?

编辑:如果我直接共享符号链接 slF1,它就可以工作——也就是说,我可以共享 \thismachine\slF1\

编辑二:我尝试了 sysadmin1138 的建议。但我无法让它工作,除非我运行:

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

然后,我必须使用目录连接和文件硬链接。这有点奇怪。我遗漏了什么吗?我明天早上会接受你的回答。谢谢!

答案1

符号链接的目标需要能够被读者访问。就你的情况而言...

E:\
|- Folder1\
|- [share]Folder2\
      |- slF1

如果 'slF1' 指向“E:\Folder1\”,客户端将无法访问它。事实上,如果您这样做:

E:\
|- Folder1\
|- [share]Folder2\
      |- Folder3\
      |- slF3

并将“slF3”链接到“E:\Folder1\Folder3”,但它仍然不起作用,因为客户端不知道如何访问“E:\”。然而如果您将“slF3”设为“\\Server\Share\Folder3”的链接,它就可以正常工作。要使其按您希望的方式工作:

E:\
|- [F1Share]Folder1\
|- [F2share]Folder2\
      |- slF1

将“slF1”链接到\\server\F1Share\,它应该可以按照您需要的方式工作。

mklink /D slF1 \\Server\F1Share\

需要记住的是,符号链接是客户端明确遵循的路径,就像快捷方式图标一样。您链接到的内容将是客户端尝试附加的内容。共享在提供链接之前不会取消引用链接,客户端必须支持它们。对于无法处理连接的老旧客户端来说,这可能是一个问题。

直接共享它之所以有效是因为 Windows 实际上在该实例中共享 E:\Folder1,并且客户端从未触碰过符号链接。

相关内容