Windows 系统中的 UAC 设置界面有四种不同的选项可以选,但实际上真正有意义的只有两个选项。

本文将介绍 UAC 这四个档设置的区别,帮助你合理的设置你的电脑。


UAC 设置界面

在 Windows 10 任务栏的搜索框中输入 uac 可以直接打开 UAC 设置界面。

搜索“更改用户账户控制设置”

下图是“用户账户控制设置”界面,想必小伙伴们应该已经很熟悉了。它有四个档:

  • 始终通知
  • 当应用试图安装软件或更改计算机设置时通知,使用安全桌面
  • 当应用试图安装软件或更改计算机设置时通知,不使用安全桌面
  • 从不通知

用户账户控制设置

实际上只有两个档

然而在微软的 Raymond Chen(陈瑞孟)在 There are really only two effectively distinct settings for the UAC slider 一文中说实际上只有两个档:

  • 始终通知
  • 辣鸡

Windows 系统是通过让一些 UAC 提权动作变成静默提权的方式来避免通知过多的问题,主要是让那些“看起来没什么危害的”系统设置不用通知。但是,这相当于开了一个后门,程序可以很容易注入到 explorer.exe 中然后获得提权,或者通过白名单方式把自己加入到静默提权中。

有了这个后门,大家就可以找到各种绕过 UAC 弹窗的方法,比如 NSudoUACME、QuickAdmin。你根本阻止不完这些绕过 UAC 弹窗的方法!

微软说:“绕过 UAC 弹窗不是漏洞,所以我们不会修补。” (也许将来绕过 UAC 弹窗的恶意软件泛滥的时候,微软就会做点什么了)

微软已经提供了全部弹窗这个选项,明明可以阻止各类程序绕过 UAC,但为什么默认设置是这个可以绕过的选项呢?

—— 因为用户希望如此。

Windows Vista 中,确实只有始终通知和关闭 UAC 两个选项,而且始终通知是默认选项;实际上 UAC 也确实只有这两个有实际意义的选项。但是始终通知会使得系统日常使用过程中真的有非常多的 UAC 弹窗,只要你试图修改一些可能影响其他用户的设置或者可能与 Windows 系统安全有关的操作,都会弹出 UAC 弹窗。大多数用户都会觉得这么多的 UAC 弹窗是很烦的。所以 Windows 7 开始不得不引入两个额外的中间状态,让一些已知的提权操作变成静默的,不弹 UAC 窗口。默认值是中间状态,因为大多数用户希望是这样的提醒级别。

中间档的差别

进程在试图提权的时候,会弹出 UAC 提示。对于 Windows 管理员账户来说,在控制面板里面的大量操作可能都是在影响所有用户,如果全部通知,那么在控制面板里面点击的很多功能都会弹出 UAC 提示(例如修改时间,这是个影响所有用户的操作,而且有些安全软件可能会因为系统时间改变而失效)。

那两个中间档就是指:

  • 在控制面板里的管理操作不用弹出提示
  • 在 Windows 资源管理器内部操作的时候不用弹出提示(启动子进程依然需要)
  • 打开任务管理器的时候不用弹出提示
  • 更改防火墙设置的时候不用弹出提示
  • 打开 UAC 设置界面的时候不用弹出提示

我的建议

现在 Windows 10 都发布了很多个版本了,离 UAC 最初引入到 Windows 系统中时已经过去了十多年时间,这么长的时间,足够很多应用兼容 Medium 的权限级别了。

如果你不了解 Medium 权限级别,可以阅读我的另一篇博客:Windows 中的 UAC 用户账户控制 - 吕毅

即便我们现在选择“始终通知”,也不会比当初 Windows 7 刚刚发布时的通知多了,更不会比当初 Windows Vista 刚刚引入时多。因为应用的 UAC 弹窗少了,而对 Windows 的管理操作也不是经常进行。

我现在日常使用的是“管理员账户 + 始终通知”,在某些情况下可能会使用“标准账户 + 始终通知”。并不会觉得多出了很多 UAC 弹窗。

目前感觉最明显的多出来的弹窗是:

  • 打开任务管理器的时候会弹窗
  • 添加防火墙信任的时候会弹窗
  • 在资源管理器中修改系统目录的时候会弹窗
  • 在 Windows 设置应用中的一些设置会弹窗

更多关于 UAC 的博客


参考资料


本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/there-are-only-two-settings-for-the-uac-slider.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 dotnet 职业技术学院 (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系