Windows 2008共享权限和NTFS写入属性权限

在Windows 2008 R2中共享和NTFS权限交互的方式似乎有了微妙的变化。 在我们的应用程序中,我们需要设置Write Attributes权限,以写入OLE / DB文档中的自定义属性。 在Windows 2003中,将共享权限设置为Modify不会与此NTFS设置发生冲突,但在Windows 2008 R2下,我们必须将共享权限设置为Full Control否则写入自定义属性将失败。

请注意,如果我有我的方式,这将是罚款。 我认为共享权限devise得不好,还有其他更好的方式来对待networking和本地用户,如果有一些需要的话。 但是,我们的一些客户有这个严格的安全政策。

我不确定你在说什么 在Windows Server 2003和Windows Server 2008 R2中没有称为“ Modify共享权限:

共享权限

共享权限和NTFS权限之间的交互可能很复杂。 共享权限对世界的看法要简单得多。 共享权限的粒度限于Full ControlChangeRead 。 没有共享所有者的概念,也没有“共享权限inheritance”。 更复杂的事情,你可以有同一个文件夹共享不止一次,每个共享拥有独立的权限。 如果您拥有“嵌套”共享,您将获得共享您已映射的共享权限。

即使用户或进程处于远程位置,NTFS权限也始终强制执行。 Windows将考虑共享权限和NTFS权限并“计算”其有效权限。

一般的过程是这样的:

  • 收集所有共享权限并将它们组合在一起。 Deny将覆盖任何Allowed
  • 收集用户拥有的所有NTFS权限。 请确保您同时考虑显式和inheritance的NTFS权限。 与共享权限一样, Deny将覆盖任何Allowed权限。 请记住,考虑将未被inheritance或明确分配的NTFS权限隐式设置为Deny
  • 结合共享权限和NTFS权限。 在有重叠的地方,限制性更高的是有效的许可。

在Windows Server 2008 R2中,您可能会看到对“ Modify (或Change ?)”的更严格的解释,然后根据您的限制性更低的NTFS权限进行计算。 我喜欢@Helge Klein无法findModify共享“元许可”的实际primefaces权限组成的文档。

正如你所发现的,这个过程很复杂,容易出错。 让您的生活变得简单,并专门为您的访问控制使用NTFS权限。 设置您的共享权限,以便它们全部打开( DOMAIN\Authenticated UsersFull Control ),然后设置NTFS权限为您提供所需的访问控制 – 类似以下内容是典型的:

  • DOMAIN\Authenticated UsersRead
  • DOMAIN\Accounting-UsersModify
  • DOMAIN\IT-AdminsFull Control

用户或进程结束的访问令牌包含更严格的ACL,而不仅仅是一个联合。 这是唯一的方法,否则你必须用两套独立的工具在两个独立的位置维护和诊断ACL。 这就是疯狂的道路。