Windows 文件权限是否绑定到文件或文件系统位置?

Dea*_*ane 5 windows permissions file-permissions

Windows 文件权限是否遵循:

  1. 文件,或...
  2. 文件系统位置

假设我在“C:\MyFile.txt”中有一个文件。我在这个文件上设置了一些非常具体的权限。

后来,我在那个文件的顶部复制了一个新文件。相同的名称,相同的文件系统位置。

它继承了相同的权限,还是自带了自己的权限?

sys*_*138 12

在创建文件的那一刻,它会从创建它的目录中获得标记为可继承文件的权限。在该文件的生命周期内,它只会在以下情况下更改权限:

  • 权限直接在文件本身上更改
  • 目录树更高层的更改会影响它已经拥有的继承权限之一(添加或减去)。
  • 目录树更高层的更改添加或删除了继承权限
  • 在树的更高层,管理员执行“替换下级对象的所有权限”推送,这会用管理员向下推送目录树的权限覆盖文件的任何权限。

需要牢记的关键是所有 NTFS 权限都是显式的。继承权限是设置了“继承”标志的权限,但它仍然是该权限。除了最上面的要点之外,Windows 必须触及可继承权限更改点以下的每个文件,以便实际进行更改。

这就是为什么如果您在 500 万个文件目录树的顶部更改权限并在恐慌中点击“取消”按钮,您就搞砸了。因为该权限将在这 500 万个文件目录树中不一致地应用,修复它的唯一方法是设置权限并让它完成应用程序然后再次删除它,或者执行“强制这些权限到我下面的所有内容” ' 这将删除该点以下的任何自定义权限。

反正...

正如其他地方所指出的,在同一文件系统中移动文件不算作“创建”,因此它保留了它在启动时拥有的任何权限。文件系统之间的移动是“创建”,因此文件将根据移动到的位置获得权限。

大多数应用程序认为“覆盖”实际上是“删除并重新创建”,这会导致覆盖的文件根据其位置接收继承的权限。如果覆盖实际上是“将文件清零并用新数据重新填充”,则它不是创建,并且将保留覆盖之前的任何权限;执行此操作的应用程序很少见。

  • 伙计 - 您关于如何从另一个文件系统移动文件被视为“创建”而不是“移动”的评论刚刚解决了我 ** 15 年** 的困惑。严重地。你是我今天的英雄。 (2认同)