如今,管理员帐户在需要时是否像标准帐户和内置管理员帐户一样安全?
简而言之:仍然没有。
更长的答案...
UAC不是安全功能
在Windows XP和Windows的早期版本中,要实现“最小特权原则”是非常困难的,尤其是在公司环境中。该原则暗示您将使用标准用户帐户执行所有日常任务。任何需要管理员特权的任务都将使用具有管理员权限的单独帐户执行(假设用户对此有合法需要)。
但是Windows XP在设计时并没有考虑到这一点,以标准用户身份运行时存在许多怪癖和局限性-即使您也可以访问管理员帐户。作为标准用户,您无法单击系统托盘时钟来显示整洁的月份日历,无法更改网络设置,并且“运行方式”功能不适用于所有情况(尤其是Windows资源管理器,因此也是如此)计划任务,打印机和其他外壳文件夹(如果可以的话)。
当然,有很多针对这些缺陷的解决方法,但要花很多时间才能发现,记录并很好地解决它们。
安全是安全与便利之间的平衡。UAC随Windows Vista一起引入,主要用于检测何时需要管理员权限,并自动提示您使用管理员权限通过其他帐户进行身份验证。这使得实践“最小特权原则”变得容易得多。
作为副作用,使用管理员帐户登录时执行需要管理员权限的任务,可以使您有机会实际确认要行使这些权限。当安装软件似乎合理时,UAC会提示,而打开普通网页时,UAC会提示。
但是,事实证明,大多数用户不使用单独的帐户,并且相当多的日常任务需要管理员权限(调整时钟,网络,电源计划等的设置),因此会在Vista中触发UAC提示。这一系列提示导致大多数用户
a)盲目接受任何UAC提示,而不关注实际需要提升的地方,或者
b)完全禁用UAC确认
在Windows 7中,Microsoft授予了几个Windows可执行文件自动提升权限,因此,如果您使用的是管理员帐户,则某些操作将自动以提升(管理员)权限执行。这使UAC显得不那么吸引人。
可以利用UAC自动高程
因此,在Windows 7中,有一个内置的机制可以自动提升权限。如果可以通过运行具有标准用户权限的应用程序来利用此机制,则可以绕过UAC(其设计初衷不是安全机制),并且最终可以以管理员权限运行应用程序,尽管您尚未提示确认。
事实证明,通过Leo Davidson(Windows 7 UAC白名单:代码注入问题(及更多内容))以及Long Zheng(在Windows 7中的UAC仍然存在问题, Microsoft不会/无法修复代码注入漏洞)。
结论
从安全角度来看,将单独的帐户用于日常工作和任何需要管理员权限的帐户仍然有意义。这是唯一(合理地)确保未经您的明确授权,没有应用程序具有管理员权限的应用程序。
就是说,这是便利与安全之间的平衡。正如@GeminiDomino所指出的那样,您还可以在所有端口上填充军用环氧树脂。您还可以像布鲁斯·施耐尔(Bruce Schneier)一样“无间隙”地运行计算机,以使其永远不会直接连接到任何网络。
最后取决于您是否可以在执行管理任务时不必进行显式身份验证。