Linux下进行资源共享有很多种方式,Samba服务器就是最常见的一种。Samba服务器可以让Windows操作系统用户访问局域网中Linux主机,就象访问网上邻居一样方便。如图1所示,图中的服务器运行Samba服务器程序,其操作系统是Linux。该服务器通过Samba可以向局域网中的其他Windows系统提供文件服务。同时,在Linux服务器上还连接了一个共享打印机,打印机也通过Samba向局域网的其他Windows用户提供打印服务。
1、Samba工作原理
Samba的工作原理是,让Windows系列操作系统网络邻居的通讯协议——NETBIOS(NETwork Basic Input/Output System)和SMA(Server Message Block)这两个协议在TCP/IP通信协议上运行,并且使用Windows的NETBEUI协议让Linux可以在网络邻居上被Windows看到。其中最重要的就是SMB(Server Message Block)协议,在所有的诸如Windows Server 2003、Windows XP等Windows系列操作系统中广为应用。Samba就是SMB服务器在类UNIX系统上的实现,目前可以在几乎所有的UNIX变种上运行。
2、Samba服务器的功能
文件共享和打印共享是Samba最主要的功能。Samba为了方便文件共享和打印共享,还实现了相关的控制和管理功能。具体来说,Samba完成的功能有:
共享目录:在局域网上共享某个或某些目录,使得同一个网络内的Windows用户可以在网上邻居里访问该目录,就跟访问网上邻居里其他Windows机器一样。
目录权限:决定每一个目录可以由哪些人访问,具有哪些访问权限。Samba允许设置一个目录让一个人、某些人、组和所有人访问。
共享打印机:在局域网上共享打印机,使得局域网的其他用户可以使用Linux操作系统下的打印机。
打印机使用权限:决定哪些用户可以使用打印机。
安装和配置好了Samba服务器后,Linux就可以向局域网中的Windows用户提供文件和打印服务了。
3、SMB协议
在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件和打印服务系统,该系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block)协议。这个协议被Microsoft用于它们的Lan Manager和Windows服务器系统中,而Windows系统均包括这个协议的客户软件,因而这个协议在局域网系统中影响很大。随着Internet的流行,Microsoft希望将这个协议扩展到Internet上,成为Internet上计算机之间相互共享数据的一种标准。它将原有的几乎没有多少技术文档的SMB协议进行整理,重新命名为CIFS(Common Internet File System)。因此,为了让Windows和UNIX计算机相集成,最好的办法即是在UNIX中安装支持SMB/CIFS协议的软件,这样Windows客户就不须要更改设置,就能如同使用Windows NT服务器一样,使用UNIX计算机上的资源了。
下面介绍Samba的安装、简易配置以及启动和停止的指令。
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# ll samba*
-r--r--r-- 86 root root 17012467 Jul 23 2009 samba-3.0.33-3.14.el5.i386.rpm
##服务器端
-r--r--r-- 86 root root 5930356 Jul 23 2009 samba-client-3.0.33-3.14.el5.i386.rpm
##客户端
-r--r--r-- 99 root root 9094678 Jul 23 2009 samba-common-3.0.33-3.14.el5.i386.rpm
##配置文件
-r--r--r-- 86 root root 8628593 Jul 23 2009 samba-swat-3.0.33-3.14.el5.i386.rpm
##利用web方式实现管理服务器
[root@localhost Server]# rpm -qa |grep samba
samba-common-3.0.33-3.14.el5
samba-client-3.0.33-3.14.el5
samba客户端已经安装,下面安装服务器
[root@localhost Server]# cd
[root@localhost ~]# yum install samba –y
Installed:
samba.i386 0:3.0.33-3.14.el5
Dependency Installed: