为了能在Windows服务器上顺利运行工具软件而禁用用户账户控制(UAC)是个好主意吗?
在回答之前,先假设没有禁用用户账户控制(UAC),我按传统方式为所有支持它的系统保留默认设置。为什么呢?当这个功能初次引入客户系统(Windows vista、Windows 7)和服务器系统(Windows 2008)时,我确定,和之前的产品激活一样, UAC在短期内不会被丢弃。因此我认为最好的办法就是去习惯它,了解它的特点并在必要时改变自己的工作习惯。
就像之前说的,让我解释一下是什么引起了是否要禁用UAC的整个讨论。不久之前,一台由我远程管理的Windows server 2008 R2服务器上缺少磁盘空间。我清理了所有常见的怀疑对象:很多还未从系统移除的归档文件和不再需要的备份集等等。
突发奇想,我决定去看看其他用户清理磁盘空间时是否遇到一些问题。经过一番搜索,我在一篇博客中发现一个管理员说他在Small Business Server 2008上空出来一些看似隐藏了的磁盘空间。
该作者使用JAM软件公司的TreeSize工具去扫描系统并判断他的磁盘空间用到了哪里。在一些无结果的检查之后,他意识到,由于UAC,他要使用管理员账号去运行该程序,来让该程序查看驱动器上的一切。(我猜想在启动时它不会为了提升自动询问。)这帮助他找到了很多之前没有显示的事情,但也引起了一些怀疑:
Windows Server早期版本的老管理员是否应该禁用UAC来作为从实用工具中获取相同预期行为的方式呢?
基于多个原因,我不认为这是一个好主意,首先是因为UAC有稳固的用户群。正因如此,与其协同工作才是最正确的方式,而不是背向而驰。对于那些UAC感知不到而你也不是很信任的旧程序,最好的解决办法是为它创建一个快捷方式,将其设置为默认情况下以管理员身份启动,并重命名为“Utility-Admin mode”——或其它类似名字。就这一点而言,这不是说所有的努力都是为你需要一起工作的常用事务来获得创建一站式店铺(如都是快捷方式的文件夹)的习惯和额外好处。
另一个不禁用用户账户控制的理由是,与服务器的所有互动都会正增加其攻击面的可用性,即使运行的是看上去完全良好、来历正当的程序。预先禁用你抵制的事情没有什么意义。
最后,禁用UAC之后你会花更多的时间,你会收到很多关于尝试修改系统的警告信息。该警告窗口给你的选择是停止并考虑会发生什么事情。它的确多次避免了我的损失,让我没有变成疏忽的傻瓜(我的意思不是说运行恶意软件,而是不要发生系统范围内的改变。)
【编辑推荐】