当我们在讨论系统安全性和便利性之间的权衡问题时,将天平过度向便利性倾斜有时会带来灾难性的后果。因此,牺牲掉一定的便利性,通过限制用户账户权力来加强系统安全,应是值得注意并且不可回避的问题。
对账户名的隐藏
在本刊2005年第5期的“系统安全从账号设置做起”一文中,作者曾经提出:通过“用户账号”中的“更改用户登录和注销的方式”任务设置,取消“使用欢迎屏幕”选项来进行用户登录。不过这样每次登录的时候都要输入用户名和密码,有时觉得比较麻烦。其实完全可以保留使用欢迎屏幕——只要隐藏某些用户账户就行了(本文针对windows 2000/XP系统)。具体可以通过修改注册表实现:
1. 在“开始”菜单的“运行”处运行“regedit”命令,进入注册表编辑器;
2. 打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList, 创建一个新的DWORD值,将这个值的名称设为要隐藏的账户名,并将值设为0。
如此,你隐藏的账户(如管理员账户)就不会出现在欢迎屏幕上。而要登录到欢迎屏幕上没有的账户,可以按两次Ctrl+Alt+Delete显示出“登录到Windows”对话框,输入用户名和密码即可。不过,以这种方式隐藏的账户是不能使用快速用户切换功能的,因为按两次Ctrl+Alt+Delete的技巧只能在没有其他人登录进计算机时方能奏效。
作者在寝室就是把自己的管理员账户隐藏了起来,只在欢迎屏幕上留了个公用账户,同学要进系统只需输入密码即可。如此既方便了同学,又阻止了好事者对我管理员密码的追问。
通过自动登录来强制进入特定账户
当然,还可以做得更绝,就是使用看起来似乎并不安全的自动登录功能。如此一来,你就可以强制其他用户进入一个特定账户,而不用激起他们猜测其它账户的密码的好奇心。具体方法:
1. 在“开始”菜单的“运行”处运行control userpasswords2命令,进入“用户账户”,在“用户”标签一栏,取消“要使用本机,用户必须输入用户名和密码”复选框,并单击“确定”(如图1);
2. 其后,Windows会弹出一个提示框(如图2),要求你输入每次计算机启动时自动登录所使用的账户的用户名和密码。
当然,还可在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon主键中进行其它的设置来进一步控制自动登录过程:
1. 其实,用户在完成自动登录后,完全可以注销账户,然后重新返回到欢迎屏幕,再选择其它账户登录。如此,设置自动登录就显得意义不大了。为了避免这种情况的发生,可以在上面提到的主键中添加一个名为ForceAutoLogon的字符串值,并将这个值设为1。这样,系统即便是在注销之后也会自动登录到指定的账户;
2. 在默认情况下,在启动时可以按住Shift键来阻止自动登录。要消除Shift键对自动登录的影响,可以添加一个名为IgnoreShiftOverride的字符串值,并将该值设为1;
3. 还可限制自动登录能够进行的次数,使其达到这个次数后,自动关闭这个功能。如此需要添加一个名为AutoLogonCount的DWORD值,将其设为希望使用自动登录的次数。这样,计算机每次启动并执行自动登录时,AutoLogonCount的值就会减1。减到0时,Windows就会将AutoAdminLogon的值改为0(关闭自动登录)并删除AutoLogonCount值。