假设用户 Bob 在组 A 和组 B 中。组 A 对文件夹 X 具有写权限,但组 B 具有只读权限。
我们应该对文件夹 X 做什么?在这种情况下,Windows 会做什么?这纯粹是人为错误吗?
我们目前在一个我们无法控制的域上遇到了问题。用户无法删除或修改任何“较旧”的文件(可能在上游进行更改之前)。任何新创建的文件都标记为“只读”。取消选中此复选框后,它会恢复。
我们能做些什么吗?
答案1
听起来好像您已将共享权限设置为所有人的完全控制,并在 NTFS 卷上设置了创建者所有者权限,这将允许用户创建文件,但只有他们可以打开和读取它们。
我建议授予组 A 对共享的读取权限,授予组 X 更改权限。在共享文件夹的文件系统上,授予组 A 读取权限,授予组 X 写入权限(如果您希望此组具有删除权限,请授予此权限)我建议修改此组。还请记住取消所有其他权限,只保留具有完全控制权的管理员和您的两个组(删除继承),并将权限下推到子文件夹。
尽管 Bob 也处于读取组中,但他将具有写入(或修改)权限。
答案2
大多数 Windows 权限模型都是围绕显式“允许”访问控制列表 (ACL) 而非“拒绝”构建的。NTFS(以及 Windows 的其他部分)支持设置拒绝 ACL,但它们并不常用。
标准方法是仅使用“允许”权限,从用户完全没有权限开始。然后,他们被授予某些权利,而不是明确地被赋予“允许或不允许”的状态。因此,“只读”通常是指没有写入权限。如果您拥有来自两个独立安全主体(例如来自您的用户帐户和组成员身份或两个独立组)的两组(或更多组)权限,您将被授予来自所有主体的所有权限的结果,因此,如果其中任何一个具有“写入”权限,那么即使一个或多个单独的安全主体仅具有“只读”访问权限,您也会获得“写入”访问权限。
如果使用“拒绝 ACLS”,则同样适用 - 如果用户或任何组被拒绝覆盖所有其他权利的特定权利。
就你的情况而言,不太可能使用拒绝权限,Bob 应该能够写入该文件夹。不过,情况可能比这复杂得多。
除了对特定文件\文件夹的明确权限之外,您还可以(可选)从较低级别继承,因此对特定文件或文件夹的有效权限可能取决于在您关注的特定对象以下某个级别(即更接近根)设置的明确权限。
由于 Windows 共享具有完全独立的安全模型,因此情况更加复杂 - 共享可以设置为只读\更改或完全控制。如果将共享设置为只读,则只要用户使用该共享名称连接,它将覆盖文件级别权限。但是,拥有更改\完全控制权限不会覆盖底层 NTFS 权限。
最后,还有标准文件系统“只读”标志。这本身并不是权限,但如果设置了该标志,则任何人都无法更改文件,除非他们先重置该标志。
答案3
当在 Windows 服务器上共享文件夹时,需要处理两组权限:共享权限和 NTFS 文件权限。
确保该组在“共享”选项卡以及“安全”选项卡上具有正确的权限。
如果该组仅具有只读共享权限,则取消选中只读复选框不会产生任何影响。
您需要授予该组对“共享”根目录至少“更改”的权限。