我们知道,在NT技术架构的Windows系统中,有一个系统内置的权限较低的匿名访问账号guest,我们经常会遇到在win2000和XP系统中设置了共享目录但别人却没法访问的情况,主要原因就是系统禁用了guest账号,只需启用该账号即可。但是由于该账号的存在往往会给系统的安全带来危害,比如:别人偷偷把你的guest激活后作为后门账号使用,更隐蔽的是直接克隆成了管理员账号,基于大多情况下该账号是不必要的,所以我们可以直接删除之以提高系统的安全性,遗憾的是在NT技术架构的Windows系统中不允许删除直接guest账号。那么有没有办法删除呢?有的,在Windows NT下有一个叫delguest的小工具就可以直接删除之,用法如下:
7 m6 v& {2 L8 k" r1 ^C:\>delguest 2 r4 Z S0 Z9 h
DelGuest v1.2 - Copyright 1999, Arne Vidstrom ! f, _8 m% L% v4 H- r
- http://www.ntsecurity.nu/toolbox/delguest/ 3 {( L% U, U7 I h" b
Wrong OS version - DelGuest only runs on Windows NT 4.0!
1 |" @7 T/ k9 s. `2 o$ H9 y 遗憾的是该工具仅仅对Windows NT4.0有效,不能运行在Win2000/XP/2003系统中。那么我们能否手工删除guest账号吗?答案是肯定的,我们知道guest账号信息是存储在sam文件和注册表中的,对于sam文件,系统允许我们手工修改,但经我试验只要删除注册表中guest的账号注册信息我们就可达到目的。方法如下(以Windows NT和Windows 2000为例): 8 T' Y6 q& b6 A) i$ ]4 R/ q3 L6 W
C:\>regedit 8 Y' \3 B) z6 Z _$ _
打开HKEY_LOCAL_MACHINE\SAM\SAM,我们会看到里面已经没有信息了,事实上是有信息的主要是我们的权限不够,一般这时候我们是Administrator权限,而事实上此时对于系统的内置的SYSTEM是可以访问的,那么如何去打开SAM下的账号信息呢?我们先关闭regedit,然后执行:
8 G' t' y* b- E* g5 G3 ]+ z: ?C:\>regedt32
2 r, c2 g! @2 `" v6 H, k& i 找到HKEY_LOCAL_MACHINE窗口,选中SAM\SAM,然后点菜单中的权限设置,这时候我们可看到Administrators组只具有特殊权限,而SYSTEM账号却拥有全部控制权限,想一想这是为什么呢?其实很容易理解,SYSTEM账号是系统启动时候需要的账号,很多系统内核程序和服务程序大都是以该账号的权限运行的,若权限太低的话,恐怕我们的系统就运行不了!现在我们需要做的是更改Administrators权限(一定要在高级选项中记住该权限内容以备后用)为全部控制,这样我们就可以访问SAM下的信息了。再次运行regedit
. j" @2 s* z0 b" P0 e/ M" i2 S0 Q( w |