Windows文件共享原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于Windows文件共享服务的一些问题以及网上邻居共享的工作原理:
[问题引出]:我刚安装windows2003时,Computer Browser、Server和Workstation 这三项服务都有,但过了一段时间它们就看不见了,在管理工具的服务列表里找不到了,请问怎么会这样?应该如何解决?
[问题解决]:并不是有了“Microsoft 网络的文件和打印机共享”就Computer Browser、Server和Workstation这三项服务都会有,而只会有Server服务。
最准确的说法应该是:网络连接里本地连接属性的“Microsoft 网络的文件和打印机共享”,对应于“Server”服务。
网络连接里本地连接属性的“Microsoft 网络客户端”,对应于“Workstation”服务及“Computer Browser”服务。
关于这些,自己试一下就都知道了。卸载掉“Microsoft 网络的文件和打印机共享”,则“Server”服务必消失;
相反,装上“Microsoft 网络的文件和打印机共享”,则“Server”服务会显现。卸载掉“Microsoft 网络客户端”,则“Workstation”服务及“Computer Browser”服务必消失;
相反,装上“Microsoft 网络客户端”,则“Workstation”服务及“Computer Browser”服务会显现。
网上邻居共享的工作原理:
网上邻居的工作模式是一个典型的客户端/服务器工作模型,现在,回想一下访问网络邻居的过程,首先,点击网络邻居图标,打开网上邻居列表,其次,点击打开目标服务器图标,列出目标服务器上的共享资源,接下来,点击需要的共享资源图标,进行需要的操作(这些
操作包括列出内容,增加,修改或删除内容等。
1 取得网络资源列表
我们是如何获得当前网络上可以访问的服务器列表的呢?在一个有域的windows网络环境下,我们也可以通过活动目录服务来取得这个列表。而在工作组环境中这主要依靠windows 的浏览服务。浏览服务为各客户机提供的资源列表并不是实时的,也不一定是全局一致的,它依靠每12分钟一次的轮询来刷新和同步这个列表,因此,这个列表经常与实际情况不一致。
2 网上邻居的名称解析
当我们点击网络邻居列表里的一台机器时,这时首先会发生一个名称解析过程。谈起名称解析,我们常会想到DNS,事实上,网上邻居的名称解析也是可以使用DNS系统的。不过前提是你需要架设局域网DNS服务器对局域网的各机器名进行解析。如果你没有安装局域网DNS,你也可以使用NETBIOS的名字服务还对机器名进行解析,NETBT (TCP/IP上的NETBIOS)协议也可以将一台NETBIOS机器名解析为IP地址,可以用nbtstat -c命令查看本机缓存的NETBIOS名称和IP地址的映射表。也可以使用nbtstat –r 命令来利用NETNBT广播来将指定NETBIOS名称解析为IP地址。由于广播方式是无法跨子网的,所以当NETBIOS要求解析跨子网的名称时,必需要正确设置WINS服务器来进行跨网络的NETBIOS名称解析。除以上方式外,网上邻居还允许通过Lmhost文件来进行名字解析。除了基于TCP/IP的NETBT和DNS,由于网上邻居也允许运行NETBEUI和IPX/SPX等其它协议上,因此对机器名的解析不一定非局限为解析成IP地址,比如NETBEUI协议数据包仅包含二层链跑层地址,因此不可路由也无法跨越子网,但在小型网络中使用NETBEUI协议不但可以提高效率,而且它的工作不受防火墙设置的影响,免去了设置防火墙的麻烦。
3 访问服务器
在对服务器进行了正确的名称解析后,我们开始了实质性的阶段,登录共享服务器
访问服务器的流程
一台客户机要访问服务器,在找到目标服务器后,它首先要确定目标服务器上的协议,端口,组件能是否齐备,服务是否启动,在一切都合乎要求后,开始用户的身分验证过程,如果顺利通过身份验证,服务器会检查本地的安全策略与援权,看本次访问是否允许,如果允许,会进一步检查用户希望访问的共享资源的权限设置是否允许用户进行想要的操作,在通过这一系列检查后,客户机才能最终访问到目标资源。
网络共享服务的协议和端口
作为网上邻居基础的微软文件和打印服务可以基于多种不同的协议,它们使用不同的端口。
在较早的WIN98/95系统下面,主要使用NETBT(TCP/IP上的NETBIOS)协议来完成相关,使用137,138和139端口,同时完成包括列表维护,名称解析和文件传输等多种功能,而2000后,网络共享服务也可以通过TCP/IP上的SMB直接承载实现,使用445端口。名称解析也可以通过DNS系统来实现。这样一方面可以省略NETBIOS层,提高工作效率,
另一方面免除了NETBIOS名称解析引起的广播,减小了网络负荷。但是如果网络中存在一些老版本的windows系统或者没有局域网DNS服务器,为了名字解析的顺利进行不得不启用NETBT,否则就只能通过IP地址访问网上邻居。
下图列出了文件共享服务支持的各种网络协议。
为了提供文件共享服务,服务器上必须安装以下网络协议和服务,它们之间存在着对应关系如下图:
身份验证
如果服务器上禁用了简单文件共享,或者服务器的本地安全策略——安全选项中的“网络访问:本地账户的共享和安全模式”设为经典,本地账户模式,当客户机连接服务器时,首先以客户机的登录名和密码在服务器上进行验证,如果恰好服务器上存在同名且同密
码的账户而且该帐户没有被禁用,客户机将以此用户的身份进入下一本地安全策略的验证阶段,如果服务器上不存在此同名同密码的账户,而服务器上的guest账户未被禁用,客户机将以guest账户的身分直接进入下一阶段的安全策略验证阶段。如果服务器上禁用了guest账户,会弹出要求输入用户名和密码的对话框如下,这时如果提供了服务器上存在的用户名和密码,则会以此用户的身份进入下一阶段安全策略检查过程。
身份验证
这里存在一个很常见的误解,在判断guest账户是否启用时,很多用户是查看控制面板里的用户账户(如下图A),在那里看guest账户是否为启用状态。如果显示来宾账户没有启用就认为guest被禁用,而实际判断guest是否被禁用应该是观察计算机管理中的本地用户和组里guest用户的状态,如下图B。而在控制面板中的用户账户中启用guest账户的含义是允许guest从本地登录(出现在登录的欢迎屏幕上)。在用户帐户中禁用guest不会禁用本地用户guest帐户。
查看guest 启用状态的最简单方法是用命令net user guest查看,看输出中“帐户启用”一栏的信息。