一、Samba简介

给Windows客户提供文件服务是通过samba实现的,凡架设过MS Windows网络的人都知道MS Windows网络的核心是SMB/CIFS,而samba也是一套基于UNIX类系统、实现SMB/CIFS协议的软件,作为UNIX的克隆,Linux也可以运行这套软件。和NT相比较,samba的文件服务功能一点也不亚于NT,效率很高,借助Linux本身,可以实现用户磁盘空间限制功能,NT到4.0版本还是无法实现这点,samba由samba小组(http;//samba.org)开发,更新速度很快,目前最高的版本是2.0.7版,是2000年4月25日发布的,每个更新版本在功能上都所增强,也修复了已知的BUG。本章所涉及到的技术内容以2.0.3版蓝本。目前各种Linux发布大都包含这套软件,如果你的Linux发布是Read Hat,则是以RPM形式提供,可以在安装Linux的时候选择这个软件,也可以单独安装,以root身份。rpm -i samba-2.0.3-8.i386.rpm,就可以了。

如果你的Linux发布没有包含这个软件,可以从ftp;//samba.org/pub/samba去下载。另外,您的Linux的核心要支持smbfs,一般各种发布已经把smbfs的支持包含进去,如果没有包含的话,就要重新编译核心,获得smbfs支持,具体怎么样编译核心请参阅相关文章。

由于本章的内容是基于文件服务器, 重点介绍samba在文件服务器上的应用。目前samba还不能完全代替Windows NT,尤其是把samba设置成PDC,最好不要这样做,NT PDC非常复杂,samba还只能实现其中一部分功能。希望未来的版本可以做到。

这套软件由一系列的组件构成,主要的组件有:

smbd SMB服务器,给SMB客户提供文件和打印服务;

nmbd, Netbios 名称服务器,提供Netbios名称服务和浏览支持,帮助SMB客户定位服务器;

smbclient, SMB客户程序,用来存取SMB服务器上的共享资源;

testprns 测试服务器上打印机访问的程序;

testparms 测试Samba配置文件的正确性的工具;

smb.conf samba的配置文件;

smbstatus 这个工具可以列出当前smbd服务器上的连接;

make_smbcodepage 这个工具用来生成文件系统的代码页;

smbpasswd 这个工具用来设定用户密码;

swat samba的Web管理工具。