当我们在讨论系统安全性和便利性之间的权衡问题时,将天平过度向便利性倾斜有时会带来灾难性的后果。因此,牺牲掉一定的便利性,通过限制用户账户权力来加强系统安全,应是值得注意并且不可回避的问题。  

  对账户名的隐藏  

  在本刊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值。  

  强烈建议给自己留一道后门,如果你按照上述全部方法设置之后,就再也不能用其它账户进行登录了。当然,你所指定的账户若至少是user级(那已经算是比较安全的级别了),那虽然不能修改注册表,还至少能够运行control userpasswords2命令,如此还有回旋的余地。

  限制对硬盘分区和文件夹的使用  

  你若是觉得限制用户账户权力还不够,某些分区也不希望别人使用或是只给予他们读取和运行的权力,那么可以对其安全属性进行设置(前提条件是系统应为Windows XP Pro且你的分区必须是NTFS格式,这样其属性中才有“安全”标签栏,若还是FAT格式,建议用PQMagic等软件将其转为NTFS格式,这样对系统安全较有利)。具体步骤如下:  

  1. 以管理员身份登录系统后,在“我的电脑”中,右击某个分区,选择“属性”—〉“安全”,在“安全”标签栏中,可以添加或删除该分区所隶属的组或用户,选定某个用户后可以对其权限进行选择设置(如图3);

   2. 若要添加用户,就点击“添加”,在“选择用户或组”窗口,点击“高级”,进而点击“立即查找”,在窗口下方的用户组列表中选择一个用户,确定后返回“安全”标签,此时可以在“组或用户名称”栏中看到添加的用户;  

  3. 选定一个用户后点“删除”即可将其删去。这样,你可以去掉其他用户,使该分区仅隶属于管理员用户,当以其他用户账户登录系统时,便不能进入和使用该分区。  

  若不想做得太绝,也为了自己以用户身份登录时的方便,可以仅保留管理员用户和Everyone用户:

  点选Everyone用户,在下面的权限栏中仅点选“读取和运行”项(同时自动选定“列出文件夹目录”和“读取”权限),如此其他用户便不能在该分区中写入新信息了。  

  当然,也可让分区中的某个文件夹不被其他用户使用,操作同上(只是右击对象换为文件夹)。不过,此处必须解决一个问题,即“父系继承权”。在删除文件夹所隶属的某个用户时会跳出一个安全提示框(如图4),提示你不能删除用户。这是因为该文件夹所在的分区或文件夹,它们所隶属的该用户并未被删除,所以不能执行删除操作(但可执行添加操作)。这时应切断子文件夹对父系文件夹权限的继承,具体操作如下:

  在“属性”的“安全”栏点击“高级”按钮,在“权限”标签栏下取消“从父项继承那些可以应用到子对象的权限项目,包括那些在此明确定义的项目”复选框(如图5)。确定后会跳出一个安全提示框,选“复制”按钮,完成操作。这样就能够执行删除操作了。

  注意:以上所有操作,均要求用户以管理员或是其组成员身份登录系统。 

  上面介绍的方法主要针对单个电脑的多用户使用问题,如此配置完成后,应该能为你的电脑在开放的环境中保证一定的安全。