方案-NTFS符号链接还是连接?


17

差异性

┌──────────────┬──────────┬──────┬ ───────┬─────
││绝对│相对│文件│目录│UNC│
├─────────────┼┼────────────┼ ───────┼─────
│符号链接│是│是│是│是│是│
│结点│是│-│-│是│-│
└──────────────┴──────────┴──────┴ ───────┴─────

情境

假设我们正在创建一个重新解析点以创建重定向 C:\SomeDir => D:\SomeDir

由于这种情况只需要本地绝对路径,因此可以使用联结或符号链接。在这种情况下,使用其中一个有没有好处?

假定Windows 7适用于OS,而无需考虑向后兼容性。(在Vista之前,本机不支持符号链接,尽管Windows XP上有一个第三方驱动程序提供符号链接支持。)

更新资料

我发现了另一个区别。

  • 符号链接- 链接的权限仅影响链接本身上的删除/重命名操作,(对目标的)读/写访问权限由目标的权限控制
  • Junction- Junction的权限会影响枚举,撤消对联结的权限将拒绝通过该联结的文件列表,即使目标文件夹具有更多允许的ACL

权限使它变得有趣,因为符号链接可以%ProgramFiles%通过将文件存储在非受限位置并在受限目录中创建符号链接,从而使旧版应用程序访问UAC受限区域(例如)中的配置文件而无需更改现有的访问权限。

更新2

通过Save As...对话框中的文本框导航到Windows 8.1时,Windows 8.1将解析符号目录链接。结点不会扩展。


您是否具有指向权限差异信息的链接?那真是个发现。
surfasb 2011年

我的测试证实,对目标目录的读取访问(即列出目录内容)除了受目标目录的访问权限以外,还受结点上权限的限制。但是,似乎没有其他访问受到影响。特别是,如果目标目录权限允许,则可以创建文件和子文件夹,而不管联结点权限如何。
哈里·约翰斯顿

@哈里·约翰斯顿(HarryJohnston):最初,我怀疑有些不一致,因为我禁止对司法管辖区的删除和写入权限,但是下面的项目和子文件夹可以正常工作。
surfasb 2011年

除非有要求,否则我不会给出完整的答案,但是,如果您使用GNU或其他非Windows系统通过mount.cifs来访问卷,则符号链接将像这样出现,而结点将被视为普通目录-可能是由于IO解析发生的位置, Windows主机本地。
can-ned_food

Answers:


4

我知道NTFS符号链接可以替代较新Windows操作系统(Vista / 7/8)上的Junction,因为它们的功能相同,但也提供了附加功能(远程点)。因此,只要您只使用较新的操作系统,那么就没有理由不使用符号链接选项。


默认情况下,服务器上的符号链接将被忽略,即使遵循该链接也受服务器的共享级别访问规则的限制:例如,您不能符号链接到服务器上未共享的位置,或者共享不会授予用户访问权限。因此,符号链接不能在所有上下文中替换结点。
哈里·约翰斯顿

2

我认为连接点在备份软件中比符号链接具有更广泛的支持。您应该使用支持的功能检查使用的任何备份程序。

如果不支持,则符号链接/连接点将作为单独的目录备份(并按原样还原),或者根本不备份。

除了备份问题外,在您的特定情况下(本地目录),我看不出有一个理由要优先于另一个。


交接点和符号链接都通过NTFS使用重新解析点来实现。根据MSDN,通过API进行文件操作对它们两者的处理方式相同。
surfasb 2011年

2
@surfasb:但是,如果不特别支持(并如此识别)符号链接,则在从备份还原过程中不会将它们重新创建为符号链接。
haimg 2011年

嗯,很好!我认为未来还远远不够。
surfasb 2011年

据我所知,如果该卷将由较旧的Windows操作系统访问,则这一点更为重要。
can-ned_food


0

这是我注意到的一个区别:

我有一个同步的脚本,便携式应用程序等目录。我使用批处理脚本在“开始”菜单目录中创建一个Junction,该目录指向便携式应用程序的快捷方式目录。

交界处允许快捷方式出现在“开始”菜单中。当我改用符号链接时,它不起作用。


奇怪,这对我来说很好。我也有符号链接到插入计算机的闪存驱动器。
surfasb 2011年

@surfasb:确定要按照我的描述做吗?通过符号链接指向“开始菜单”目录的目录中的快捷方式未出现在我的“开始菜单”中。当使用Junction时,它们会执行操作。
paradroid 2011年

不知道我是否正确阅读。那么在开始菜单中,一个指向包含快捷方式的文件夹的符号链接吗?我刚刚尝试过。我什至让符号链接指向unc路径上的另一个符号链接,该链接指向带有快捷方式的UNC路径上的文件夹。当然,这打破了捷径。但是在Windows中,默认情况下禁用“远程到远程”符号链接遍历。
surfasb 2011年

0

也许我在注释中的某个地方错过了它,但是对我来说,Windows中符号链接和结点之间的一个非常重要的区别是创建两者所需的特权。默认情况下,符号链接只能使用默认用户没有的特殊权限创建,而所有默认用户OOB都可以轻松创建联结,因此,我是dirs的首选链接类型。

默认情况下,Administrators组的成员具有此权限。

https://docs.microsoft.com/zh-cn/windows/device-security/security-policy-settings/create-symbolic-links

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.