2

我对网络文件系统上的 ACL 有疑问。

基本上,我想在顶级文件夹对象上设置权限,该对象下面可能有 100,000 多个文件和文件夹对象。我希望可以通过所有子文件夹和子文件继承权限(IE '适用于文件、文件夹和子文件夹'为true)。

我不想丢弃任何现有的可继承权限(IE '用该对象的可继承权限替换所有子对象权限'是false)。

因此,当我运行 Set-ACL、SetACL.exe、XCACLS.vbs,甚至使用 Windows GUI 时,该过程需要很长时间才能完成 - 显然是由于子目录的大小。

我现在已经习惯了,但是:

我想知道 - 为什么这样?

归根结底,我不是只在一个文件夹对象上写一个 ACE 吗?

  • 我没有遍历目录;
  • 我没有修改子文件和文件夹上的单个 ACL(我不认为);和
  • 我不会替换权限

我假设如果您访问子文件夹/文件对象,它会检查它的显式 ACE 以查看您是否有权限,如果您没有权限,它会检查任何可继承的权限(来自父文件夹对象)可能会给你访问权限。

那么,设置一个可继承的权限是否也会导致一个新的、单独的 ACE 被写入每个子文件和文件夹,即使您在技术上只是在顶层设置了一个 ACE?

没有办法在顶层设置一个 ACE 而没有命令去枚举整个子目录?我希望在大量文件和文件夹上快速有效地执行此操作。

我希望这是有道理的。期待任何建议。

里斯。

4

1 回答 1

2

继承的权限(如显式)在标志位字段(更多信息)中安全描述符的位掩码中的文件夹/文件级别设置。这就是为什么在父文件夹级别设置传播给子文件夹(继承)的权限可能很长取决于有多少子文件夹受到影响。

基于此,答案是否定的:您不能在顶层设置 ACE,也没有命令去枚举整个子目录。

您可以测试以编程方式在所有子项上设置显式 acl 是否比继承过程更快。

于 2012-03-23T06:46:07.900 回答