申明:转自www.freeopens.com 一、samba概述 它是Microsoft和Intel在1987年开发的,该协议可以用在TCP/IP之上,也可以用在其他网络协议(如IPX和NetBEUI)之上。通过SMB协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通过SMB协议,应用程序还可以访问远程服 务器端的文件和打印机等资源 二、samba服务及工作原理 1、Samba服务 Linux使用Samba的程序集来实现SMB协议。通过Samba,可以把Linux系统变成一台SMB服务器,使 Windows95以上的Windows用户能够使用Linux的共享文件和打印机,同样的Linux用户也可以通过SMB客户端使用Windows上的 共享文件和打印机资源 2、Samba工作原理 ① 首先客户端发送一个SMB negprot请求数据报,并列出它所支持的所有SMB协议版本。服务器收到请求信息后响应请求,并列出希望使用的协议版本。如果没有可使用的协议版本则返回0XFFFFH,结束通信 ② 协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SesssetupX请求数据报实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后服务器通过发送一个SesssetupX应答数据报来允许或拒绝本次连接 ③ 当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconX SMB数据报并列出它想访问网络资源的名称,之后服务器会发送一个TconX应答数据报以表示此次连接是否被接受或拒绝 ④ 连接到相应资源后,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件 3、Samba它的主要功能 (1)提供Windows风格的文件和打印机共享。Windows操作系统可以利用Samba共享Linux等其他操作系统上的资源,而从外表看起来和共享Windows的资源没有区别 (2) 在Windows网络中解析NetBIOS的名字。为了能够利用局域网上的资源,同时使自己的资源也能被别人所利用,各个主机都定期地向局域网广播自己的 身份信息。负责收集这些信息,提供检索的服务器也被称为浏览服务器,而Samba能够实现这项功能。同时在跨越网关的时候Samba还可以作为WINS服 务器使用。 (3)提供SMB客户功能。利用Samba程序集提供的smbclient程序可以在Linux中以类似于FTP的方式访问Windows共享资源 |