Windows 是否会通过复制文件来复制文件权限?

Windows 是否会通过复制文件来复制文件权限?

当我将文件从一个位置复制到另一个位置时,目标位置会保留原始权限还是会采用复制的文件的权限?

答案1

在 Windows 中,默认情况下,复制的文件不会保留明确设置的权限。例如,文件 C:\Temp\temp.txt 为某个用户明确设置了写入权限,但其复制实例上不会有此权限。

复制的实例将获得适用于其新路径的任何继承权限。例如,当 temp.txt 被复制为 temp2.​​txt 时,C:\Temp 上的任何继承权限仍将适用。

因此,对您的问题最接近的答案是该文件将获得“所复制文件的权限”。

答案2

如果您要制作新副本,它将继承目标文件夹的 ACL。有一个隐藏的 Explorer 设置,ForceCopyAclwithFile它会告诉它也要复制 ACL。

一些模糊相关的文章:


一方面,您的问题的标题 – “Windows 安全设置是在文件上还是在位置上?” – 没有任何意义。

如果设置在文件上,并不意味着它们会被复制自动地。如果设置是在某个位置,这并不意味着它们不能被复制。实际上,复制函数首先复制内容,然后调整时间戳,然后复制 ACL……

另一方面,重要的是其他除了 ACL 之外的安全机制,例如强制访问控制,如 SELinux 或 AppArmor(均在 Linux 上)。也就是说,SELinux 将 MAC 信息附加到文件,并在重命名文件时保留该信息;而 AppArmor 规则是基于文字路径编写的,无论存在什么文件。

相关内容