当您在 Windows 资源管理器中选择 "继续进行文件夹访问" 时,您的用户帐户将添加到该文件夹的 ACL 中。

当您选择 " 继续 " 以获取对您对其没有读取权限的文件系统文件夹的访问权限时,本文提供了一个问题的解决方案。

原始产品版本:   Windows 10-所有版本,Windows Server 2012 R2
原始 KB 数:   950934

介绍

本文介绍 Windows 资源管理器提示您选择 " 继续 " 以获取对您对其没有读取权限的文件系统文件夹的访问权限的方案。 此外,它还介绍了用于避免此行为的特定方面的解决方法。 此问题发生在 windows Vista 和 windows 的更高版本以及 windows Server 2008 及更高版本的 Windows Server 中。 Windows 资源管理器在 Windows 8 及更高版本中称为 "文件资源管理器"。

更多信息

假定启用了 "用户帐户控制" (UAC) ,并使用 Windows 资源管理器访问您对其没有读取权限的文件夹。 此外,隐藏和系统属性不会标记该文件夹。 在这种情况下,Windows 资源管理器将显示一个对话框,提示您输入以下消息:

你当前不具有访问此文件夹的权限。 单击 "继续" 以永久获取对此文件夹的访问权限。

备注

在 Windows Vista 和 Windows Server 2008 中,第二个句子不会永久包含该单词;它只是说 单击 "继续" 以获取对此文件夹的访问权限。

然后,您可以选择 " 继续 " 或 " 取消"。 默认情况下, (选择 "继续"。 ) 如果选择 " 继续",UAC 将尝试代表你获取管理权限。 根据控制 UAC 提升提示符行为的 UAC 安全设置,以及您是否是 Administrators 组的成员,可能会提示您同意或提供凭据。 或者,您可能根本不会收到提示。 如果 UAC 可以获得管理权限,则后台进程将更改文件夹及其所有子文件夹和文件上的权限,以向您的用户帐户授予对它们的访问权限。 在 Windows Vista 和 Windows Server 2008 中,后台进程向您授予您的用户帐户 "读取" 和 "执行" 权限。 在 Windows 的更高版本中,此过程将授予您的用户帐户完全控制权限。

此行为是设计使然。 但是,由于 UAC 提升的典型模式是使用管理权限运行提升的程序的实例,因此用户可能会期望选择 " 继续",这将生成一个提升的 Windows 资源管理器实例,而不会对文件系统权限进行永久更改。 但是,这种预期并不可行,因为 Windows 资源管理器的设计不支持在交互用户会话的不同安全上下文中运行多个进程实例。

如果 UAC 已禁用,则无法进行 UAC 提升。 由 Administrators 组成员运行的所有程序(包括 Windows 资源管理器)都始终具有管理权限。 因此,管理员无需使用提升权限即可访问需要管理权限的资源。 例如,如果某个文件夹仅向 Administrators 组和 System 帐户授予访问权限,则管理员可以直接浏览它,而不会提示您更改该文件夹的权限。 如果用户不具有读取权限,则 Windows 资源管理器会显示前面所述的对话框。 但是,如果禁用 UAC,则 Windows 无法通过 UAC 提升提示请求用户的管理凭据。 因此,Windows 不会启动具有更改文件系统权限的管理权限的后台进程。

但是,如果用户选择 " 继续 ",并且文件夹的 "当前安全描述符" 授予用户对该对象的权限进行读取和更改的权限,则 Windows 将在用户的当前安全上下文中启动后台进程,并修改该文件夹的权限,以授予用户更高的访问权限,如上文所述。 用户可能有权从对象所有权读取和更改对象的权限,或从对象的访问控制列表 (ACL) 。

已知问题

此功能可能会导致意外行为。 例如,假定您属于 Administrators 组,并且您使用 Windows 资源管理器访问需要管理访问权限的文件夹。 更改权限后,通过您的用户帐户运行的任何程序都可以完全控制该文件夹,即使该程序没有提升,甚至您的帐户已从管理员组中删除后,也是如此。 此类更改的权限可能会违反组织的安全策略,并且可能会在安全审核中进行标记。 此外,如果某个程序验证了文件系统权限,它可能会拒绝运行(如果权限已更改)。

在所有情况下,UAC 应仍处于启用状态,但在 Windows Server 上如何禁用用户帐户控制 (UAC) 中介绍的受约束的情况除外。

解决方法1

若要避免更改仅供管理员访问的文件夹中的权限,请考虑使用可以运行提升的另一个程序,而不是使用 Windows 资源管理器。 例如,"命令提示符"、"PowerShell" 和 "用于共享管理的计算机管理" MMC 管理单元。

解决方法2

如果您有一个特定于应用程序的文件夹处于锁定状态以阻止普通用户访问它,则还可以为自定义组添加权限,然后向该组添加授权的用户。 例如,考虑应用程序特定的文件夹仅向 Administrators 组和 System 帐户授予访问权限的情况。 在这种情况下,请创建一个域或一个本地 AppManagers 组,然后向其添加授权用户。 然后,使用 icacls.exe 的实用工具、文件夹的 "属性" 对话框的 "安全" 选项卡或 PowerShell Set-Acl cmdlet 授予对该文件夹的 "完全控制" 权限,除了现有权限之外。

作为 AppManagers 成员的用户可以使用 Windows 资源管理器浏览文件夹,而无需 UAC 更改文件夹的权限。 此替代仅适用于特定于应用程序的文件夹。 永远不应对属于 Windows 操作系统的文件夹进行任何权限更改,例如 C:\Windows\ServiceProfiles