我在另一个论坛上与一位朋友就操作系统用户权限展开了争论。我的问题是,在常规 Windows 安装中,使用非管理员帐户进行日常使用是否是最佳做法?他似乎认为这只对域管理员很重要。
谢谢!
答案1
这在很大程度上是一个见仁见智的问题,取决于你想要多大程度的安全以及你预计会面临什么样的威胁。但是,有一个你没有提到并且可能不知道的突出选项。所以我将介绍一下。
在现代 Windows 版本(Vista 及更新版本)中,UAC 会在大多数时间自动让您处于非特权状态。但是,最新版本的 Windows(8 和 10+)已开始允许许多提升请求(由 Windows 二进制文件请求的请求)默默地成功。我个人更希望情况并非如此,但 YMMV。
如果您希望所有提升权限的请求都需要批准,并且假设您拥有包含本地安全策略管理器的 Windows 版本,则可以使用本地安全策略管理器来禁止静默提升权限和/或甚至要求您输入密码才能提升权限。单击开始菜单并键入secpol
以搜索本地安全策略管理器的存在。右键单击图标Local Security Policy
并选择Run as administrator
(只是为了确保它具有所需的权限)。
从那里导航到Local Policies > Security Options
并找到靠近底部的项目User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode
。我建议使用Prompt for Credentials
,每次应用程序请求提升权限时都需要输入密码,并且类似于 Ubuntu Linux 和类似系统上的 gksudo 行为。Prompt for Consent
如果您想在 UAC 提示上单击“是”或“否”,也可以使用。如果您担心有人试图出于恶意目的远程控制您的计算机,您也可以选择安全桌面选项。
我要说的是,根据我作为与家庭用户和企业打交道的计算机维修技术人员的经验,如果正确实施和使用 UAC,那么安全性的提高将彻底改变我个人为客户提供安全建议的方式。之前我承认,对于大多数用户来说,这基本上是一个失败的事业,我可以向他们解释许多最佳做法,但最终,即使他们遵循了每一条建议,只要断开互联网连接并停止使用互联网,他们就不需要每年打电话给我来清理他们的计算机造成的混乱。
UAC 彻底改变了这一点。现在,当我的客户打电话给我时,我发现自己坐在(大多数)运行良好的计算机前,其中的垃圾软件(恶意软件谜语游戏和免费应用程序等)很少。与以前相比,每次服务呼叫都始于几分钟,只是控制最明显的恶意软件。显然,YMMV,但我对 UAC 的经验是,它的特权降级使使用明确无特权的帐户变得多余(与一些常识相结合)。
还值得注意的是,UAC 之前的 Windows 版本中的非特权帐户几乎无法使用,因为即使是合法的第三方软件也总是认为它拥有对所有内容的特权访问权限。由于 UAC 使得第三方软件供应商必须让他们的软件遵循 Microsoft 概述的标准安全最佳实践,这种情况也发生了变化。
答案2
从安全角度来看,使用单独的帐户进行日常工作是有意义的。这是唯一可以(合理地)确保没有应用程序在未经您明确授权的情况下以管理员权限运行的方法。也就是说,这是便利性和安全性之间的平衡。
以管理员身份运行日常程序可能非常诱人,尤其是在处理某些软件包时,这些软件包似乎不喜欢在其更新中与“以管理员身份运行”配合使用,例如 Virtual Box... 有时这有点麻烦,但可以让用户完全没有管理员权限,从而省去很多麻烦。我个人建议为日常用户提供标准权限,无论是服务器还是非服务器操作系统。
最后,这取决于您是否同意在执行管理任务时必须明确进行身份验证。