安装软件时是否可以禁用 UAC,但仅针对自定义用户或组?
答案1
那是不可能的。
这真是太令人失望了,不是吗?让我告诉你更多。知识!
首先,就 Windows 而言,安装程序和其他需要管理员权限的程序没有区别。提升权限提示由程序的显现, 具体来说requestedExecutionLevel
。
程序必须提升权限的原因是重要的文件夹、文件和注册表项只能由管理员修改;在大多数情况下,未提升权限的管理员是普通用户。您可以尝试调整这些对象的 ACL,以允许某些用户写入它们,但存在一些问题:您几乎肯定会错过一些(导致奇怪的行为),仍然会有一些操作系统功能需要管理员组成员身份才能使用,并且您必须修改安装程序的清单(使其数字签名无效)以使其不尝试提升权限。到处都是悲伤。不要那样做。
如果您允许非管理员用户在仅供管理员使用的地方随意写入任何内容,那么您将打开一个巨大的安全漏洞。例如,安装程序和修改程序之间没有实际区别;恶意用户可以调整常用的程序来做坏事,然后等待管理员运行它们。您似乎对 Power Users 组非常感兴趣,但从那里到管理员只有一小步。让我们看看此 Microsoft 知识库文章关于 Power Users 组有话要说:
为了防止出现此问题,请使用以下方法:
- 不要使用高级用户组。
UAC 的工作方式是从用户的登录令牌中删除强大的组成员身份和权限。令牌本质上是程序运行时的身份。管理员组始终被视为一个强大的组,其他一些组也是如此,例如备份操作员。用户自己的身份(以及通过名称专门引用用户的访问控制)被保留。
目前无法仅针对部分用户禁用 UAC 行为。但是,内置管理员帐户可以默认情况下以完全权限运行(即禁用 UAC)。除此之外,您无法在 UAC 中做出例外。