我们在 Windows Server 2022 上有一个网络共享,其中托管着许多“生产”文件和开发文件。我们有两个域 - 一个 prod 域(例如“prod.local”)和一个 dev 域(“dev.local”)。
某些文件夹已设置为具有“所有人”访问权限,并且虽然产品域和开发域之间存在信任关系,但开发用户对共享具有只读访问权限,如预期的那样。
但是,我被要求以一种方式进行信任(开发人员信任产品,产品不信任开发人员),现在“所有人”权限不再起作用。
我已尝试实施此处建议的更改,但 a) 似乎这些是 Windows 10/11 的解决方案,b) 它仍然不起作用(即开发用户仍然无法访问共享)。
应如何在 Windows Server 上配置此类共享以允许另一个域访问?
系统要求您将信任从两种方式配置为一种方式,以便 PROD 中的共享(以及 PROD 中的任何其他资源)只能由 PROD 访问,而不能由开发人员访问。现在开发用户无法访问 PROD 中的共享。
这是预期的行为。
消除双向信任是正确的做法。它根本不应该被创建。
如果您希望共享(或任何其他资源)可供开发域使用,则该资源(共享)需要位于独立于 PROD 域的位置,并且不应从开发域访问该位置。
附加信息:
2003 年,Everyone 安全主体更改为不再是“Everyone”。它在功能上与经过身份验证的用户安全主体相同。以前,Everyone 的功能类似于来宾帐户功能,但通常被禁用。这意味着Everyone 主体不包括Anonymous。
https://learn.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/network-access-let-everyone-permissions-apply-to-anonymous-users
总之,Windows要求用户必须进行身份验证才能访问共享等资源。没有匿名或来宾访问,每个人都意味着仅通过受信任域进行身份验证的用户。
PROD 域中的资源与您要授予访问权限的主体之间的关系已专门配置为禁止来自不受信任域的所有用户对所有资源(包括共享)的所有访问。
我认为您将信任误认为是访问权限。
信任意味着您信任该域对用户进行身份验证,以便您可以向该域的用户(除了您自己的用户)分配访问权限。
访问权限意味着用户可以或不可以读取或修改网络资源。为了分配权限,您首先需要有一个用户对象 - 该对象可以来自您信任的另一个域。通常,您对用户进行分组,然后向该组分配权限。在文件级别,您可以使用 ACL。
如果没有信任,您就无法知道谁正在尝试访问资源。
因此,基本上,信任其他域,但不要为其用户分配任何您不想要的权限。