66 FreeBSD连载:安装samba

配置和使用Samba【66 FreeBSD连载:安装samba】FreeBSD下实现SMB/CIFS协议的软件为samba ── 一个可以运行在很多种Unix系统中的著名自由软件,它使得Unix对外如同一个Lan Manager服务器,向Windows客户提供文件和打印服务 。Samba的当前版本为2.0,在FreeBSD下可以通过Packages Collection或Ports Collection进行安装 。
samba的主页为http://samba.org,包括有大量samba的资源 。
虽然SMB协议主要用于Microsoft网络,但samba的出现与其无关 。它是作者Andrew Tridgell试图在一台Sun工作站上完成DEC Pathworks功能的尝试,以完成他的其他研究工作 。Pathworks是另一个基于SMB的服务器 。那时Andrew Tridgell对SMB和NetBIOS一无所知,但通过分析Dos客户端和Pathworks的行为,他完成了Samba的最初版本 。此后随着越来越多的人加入Samba的开发,Microsft也公开了SMB的文档,Samba也越来越完善 。使用Samba的使用者一般都会使用过WindowsNT等其他SMB服务器,根据他们的经验,Samba服务器的性能要超过其他的各种SMB服务器,包括Windows NT 。
samba软件的主要组成部分有:
smbd:这就是samba的SMB服务器,它使用SMB协议与客户连接,完成事实上的用户认证、权限管理和文件共享任务;
nmbd:提供NetBIOS名字服务的守护进程,可以帮助客户定位服务器和域,如同Windows NT上的WINS服务器;
smb.conf:是samba的配置文件,在FreeBSD中它被放在/usr/local/etc目录中 。
swat:是一个Samba专用的WWW服务器,用于通过客户浏览器配置samba,提供了对Samba的图形配置界面;
smbclIEnt:是一个简单的SMB客户程序,用于访问其他SMB计算机共享的文件或打印资源,例如Windows95或NT计算机,它的操作和ftp类似 。
smbprint:一个shell脚本,它使用smbclient向Windows计算机上共享出的打印机上发送要打印的文档 。
nmblookup:用于查询NetBIOS名字的命令行工具 。
安装samba
当使用Packages Collection安装了Samba之后,将自动安装一个启动脚本samba.sh.sample到/usr/local/etc/rc.d目录中,可以将其更名为samba.sh,用于计算机启动时自动启动samba服务器smbd和nmbd 。但要启动samba,还需要更改/usr/local/etc/目录下的配置文件smb.conf,安装程序将自动安装一个样例文件smb.conf.default,可以将其复制为smb.conf文件,然后再进行修改 。
# pkg_add samab-2.0.2.tgz# cd /usr/local/etc# cp smb.conf.default smb.conf# cd rc.d# cp samba.sh.sample samba.sh# sh samba.shSamba为了正常使用samba,必须对smb.conf进行配置,可以直接编辑配置文件,或者使用图形设置界面进行设置 。由于samba是一个非常流行的SMB服务器,因此存在多种图形界面的配置程序,samba2.0本身提供的swat就是其中的一种,它作为一个Web服务器,可以通过WWW浏览器来配置smb.conf 。但是即使能通过图形界面进行设置,但手工编辑smb.conf仍然是最基本的设置方式 。
如同上面的执行命令中所显示的,缺省的smb.conf就正常启动samba服务器,只是缺省配置并不一定适合用户的具体设置情况 。例如域(或工作组)名字缺省为MYGROUP,而实际网络中则不一定使用这个名字 。下面的命令使用Samba提供的smbclient客户程序,查看缺省smb.conf启动的samba服务器的设置 。
# smbclient -L localhost -U璬ed interface ip=202.102.245.60 bcast=202.102.245.255 nmask=255.255.255.0Domain=[MYGROUP] OS=[Unix] Server=[Samba 2.0.2]SharenameTypeComment--------------------IPC$ IPCIPC Service (Samba Server)asciiPrinterlj5gray-a4-ascii-monolp2Printerlj5gray-a4-auto-monolj5gray-a4-raPrinterlj5gray auto rawwbDiskHome DirectoriesServerComment----------------fbsdsrvSamba ServerWorkgroupMaster----------------MYGROUP 从这个输出结果可以看出,缺省使用的工作组为MYGROUP,提供共享的资源有IPC$,用户个人目录wb,以及系统中存在的多个打印机资源 。samba使用计算机的hostname生成它NetBIOS名字fbsdsrv 。

推荐阅读