Samba的简介

来源:互联网 发布:sqlserver安装图解 编辑:程序博客网 时间:2024/04/28 18:13

       Samba是一套让UNIX系统能够应用Microsoft网络通讯协议的软件。它使执行UNIX系统的机器能与执行Windows系统的电脑分享驱动器与打印机。Samba属于GNU Public License(简称GPL的软件;因此,你可以合法且免费地使用它。什么是SMBSMBServer Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft
   
网络的通讯协议,而Samba则是将SMB协议搬到UNIX上来应用;Samba的核心是
SMB(Server Message Block)协议。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,更能与全世界的电脑分享资源;因为互联网上千千万万的主机所使用的通讯协议就是TCP/IPSMB是在会话层(ession layer)和表(sentation layer以及小部分应用层(applicationlayer)的协议。SMB使用了NetBIOS的应用程序接口  Application Program Interface,简称API)。另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;大约有65个最上层的作业,而每个作业都超过120个函数,甚至Windows NT也没有全部支持到,最近微软又把 SMB 改名为CIFS(Common Internet File System), 并且加入了许多新的特色,而Samba亦支持了NT Lan Manager 0.12 SMB 的延伸协议,这是得Samba具有管理NT网域的能力。 


 Samba  
的主要功能如下:
 

1)提供Windows NT风格的文件和打印机共享 Windows 95Windows 98Windows NT等以

     
据此共享UNIX等其他操作系统的资源,外表看起来和共享NT的资源没有区别。

2)解析NetBIOS名字IP Windows网络中,为了能够利用网上资源,同时自己的资源也能被

     
别人所利用; 各个主机都定期地向网上广播自己的身份信息。而负责收集这些信息,为别

     
的主机;提供检索情报的服务器就被称为浏览服务器.Samba可以有效地完成这项功能在

     
跨越网关的时候Samba还可以作WINS服务器使用。

3)提供SMB客户功能 利用Samba提供的smbclint程序可以从UNIX下以类似于 FTP的方式访

     
Windows的资源。
 
4)备份PC上的资源 利用一个叫smbtarshell 脚本,可以使用 tar 格式备份和恢复一台

     
远程 Windows上的共享文件。
 
5)提供一个命令行工具,在其上可以有限制地支持NT的某些管理功能。 

 


巧配samba实现WIN2000Linux文件共享

随着Linux的普及,如何共享Linux下的文件成为用户关心的问题。其实,几乎所有的Linux发行套件都提供了一个很好的工具Samba——通过它可以轻松实现文件共享。Samba是基于SMB协议的一个应用程序,目前的版本是2.3.xSamba的功能很强大,但易用性也极差。原因是它的配置文件太大而且不容易理解,新手和熟手都对其望而却步。但是,如果仅仅实现文件共享这一单纯目的,配置Samba也很简单,只需熟悉几个操作即可。下面我用一个例子说明这几个操作。

假设你已熟悉Linux的基本操作,并且熟悉VI编辑器的使用。

 

现在我们有三台PC,一台安装了Win 2000,名字是test2000,其上有共享文件夹share;其余两台安装了Linux,一台名字是testsamba,其上有一目录/pub;另一台名字是testlinux,其上也有一目录/pub。我们要实现的目标是把testsamba上的/pub共享,供test2000test_linux使用。

 

test_samba我们进行下面操作:

 

/etc/下找到smb.conf,用VI编辑器打开;

 

# vi /etc/smb.confvi /etc/samba/smb.conf

 

在【gobal】字段下,添加netbios记录,一般加在workgroup记录的下一行;

 

netbios name = testsamba

 

在【gobal】字段下,修改secrity记录;

 

secrity = share

 

在【public】字段下,修改path记录;

 

path = /pub

 

在【public】字段下,添加geuest ok记录;

 

guest ok = yes

 

删除【public】字段每行行首的标示;

 

保存退出。

 

简单解释一下,添加的“netbios name”是可以在test2000网络邻居中看得见的机器名;添加的/pub是可以在网络邻居中看见的共享目录;添加guest ok是允许所有用户都可以guest账户访问共享;删除标示是要整个【public】字段成为可执行。

 

现在/pub就成为可以被test2000testlinux两台机器共享的目录了。简单吧!

 

试试看:

 

testsamba下,为使用test2000下的共享文件夹可以进行以下操作:

 

# smbclient -L //test2000

 

此命令可以查看test2000下的共享情况,注意在系统要求输入password时,直接回车即可进入test2000,此时屏幕上列出test2000下的共享。

 

#smbclient \\\\test2000\\share -U share

 

此命令可进入test2000share目录,屏幕上出现MS-DOS的提示符(:\)时说明用户进入了share目录。此时可以在提示符后输入命令查找你可使用的命令。

 

test2000下,使用testsamba的共享目录/pub,可以进行以下操作:

 

查找计算机testsamba,当testsamba目标出现时,双击图标pub,即进入共享文件夹pub了。

 

testlinux下,使用testsamba的共享目录pub,可进行如下操作(假设已知pub存在)

 

#smbmount //testsamba/pub pub

 

此命令可把testsamba下的pub挂到本机的pub上,同上在系统要求输入password时,直接回车,接着依次输入#cd /pub/pub#ls,屏幕即列出testsambapub目录下的文件了。