Win 2000与XP网络登录中的一点差异

提到Windows系统的网络登录 , 一般我们首先想到的是3389登录 , 也就是通过终端连接服务器登录目标机器 。但是 , 你可能还不是十分清楚 , Windows系统之间的网络登录其实大部分是通过139端口进行的 。这是由SMB/CIFS协议所规定的 , 客户端通过139建立连接 , 发送用户名和密码到服务器端 , 服务器端在139端口监听 , 接受到客户端的请求后 , 检查接收到的用户名和口令 , 如果错误 , 则拒绝连接 , 如果正确 , 则给予客户端相应的权限 , 这就是Windows最基本网络登录过程 。上面的说法你可能会觉得很抽象 , 实质上 , 这个登录过程我们可以形象的把它看作目标机器建立IPC连接 。你执行的net use命令跟机器建立IPC连接 , 就是通过139发出请求 , 如果你的net命令里所使用的用户是Administrators组的 , 则建立成功后目标机器会给你的IPC连接Administrators权限 , 如果是Guest的权限 , 当然 , 如果是用空连接 , 那得到的权限是微不足道的了 。
关于IPC的小知识:IPC是Internet Process Connection的缩写 , 也就是远程网络连接 。它是Windows NT/2000/XP特有的一项功能 , 就是在两个计算机进程之间建立通信连接 。然后 , 一些网络通信程序的通信可以建立在IPC上面 。打个比方 , IPC连接就像是挖好的地道 , 然后我们用程序通过地道访问远程主机 。默认情况下 , IPC是共享的 , 也就是说微软已经为我们挖好了这个地道(IPC) 。建立IPC连接需要什么条件呢?首先自己的系统应该是WinNT以上的 , Windows 98不可以 , 因为Win98网络管理这方面的功能很少 , Windows 98没有IPC , IPC是Windows NT和Windows 2K/XP/2003才有的 。
OK , 理解了IPC连接 , 我们再深入一步 , 其实IPC也是一种共享资源 , 只不过比较特殊罢了 , 我们用net use建立IPC连接的时候 , 说白了 , 就是用我们所掌握的用户名和口令申请对方的IPC共享资源 。同样的 , 我们用net use命令映射对方磁盘的时候 , 也是用我们掌握的用户名和口令申请对方磁盘共享资源 。所以 , net use这个命令不管你申请IPC资源还是磁盘资源 , 都通过139端口先进行网络登录 , 然后进行的 。
网络登录过程基本上就这样了 , 我们继续深入 , 看一下网络登录获得的权限问题 。首先要说一下 , 在这权限问题上 , Windows 2000系统和Windows XP系统的处理是不同的 。
先来看Windows 2000 。Windws 2000系统做得比较实在(呵呵 , 怎么这么说呢?) , Windows 2000系统完全是按照你提供的用户名和口令赋予登录权限的 , 也就是你用超级用户登录(就是建立连接了) , 那你就可以得到超级用户的连接权限 , 你用Guest登录 , 你得到Guest的连接权限 , 而你用空连接的话 , 那得到的权限就象前面说的 , 微不足道 。再来看Windows XP , 这就跟Windows 2k系统不同了 。默认的Windows XP系统不是根据你提供的用户名和口令来赋予登录权限的 。这点你可以在Windows XP系统的帮助里面找到 , 如图所示(如图) 。Windows XP的网络登录有两种模式可用:“典型”和“仅来宾” , 详细的解释如下:
如果将登录模式设置为“典型”则登录过程中使用客户提供的用户进行登录 , 登录成功后具有这个用户的权限 。如果设置为“仅来宾” , 则登录过程中不论是用什么用户登录 , 如果登录成功 , 则自动映射到“来宾”帐户 , 也就是只有Guest用户的权限 , 简单的说 , Windows XP网络登录所获得的权限取决于系统的设置 , 如果为“典型” , 那么你可以获得你所拥有用户的相应权限 , 如果你有超级用户 , 那么取得的权限就是超级用户权限 , 而如果为“仅来宾” , 那么无论你用什么用户权限 , 即使是超级用户 , 建立连接后得到的只能是Guest权限 , 很不幸的是 , Windows XP系统默认设置是“仅来宾” 。

推荐阅读