Samba的核心是两个守护进程smbd和nmbd,服务器启动到停止期间持续运行。smbd监听139 TCP端口;nmbd监听137和138 UDP端口。smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。smb.conf向smbd和nmbd两个守护进程说明输出什么、共享输出给谁及如何进行输出以便共享。smbd进程的作用是处理到来的SMB数据包,为使用该数据包的资源与Unix 进行协商,nmbd进程使其他主机(或工作站)能浏览Unix服务器。
一、Samba的应用环境
图1是一个使用Samba 服务器的网络结构图。在此环境中,运行Samba服务器的Solaris 10系统为所有的Windows 客户提供文件服务器和打印服务器的功能。当Samba服务器在Unix计算机上运行以后,Unix 计算机在Windows 上的网上邻居中看起来如同一台Windows计算机。另外,Samba还可以被配置成为WINS名字服务器、Windows NT/2000/2003的域控制器等。Samba可以取代Windows“网络邻居”的文件及打印机共享功能,Samba也可以完全取代NT PDC(Primary Domain Controler)成为NT网域主控者管理NT网域;若是在同一台Server架设Samba及Apache,则在办公室或校园环境内,使用者可用自己的账号及密码从Windows登入网域,再由“网络上的芳邻”进入使用者个人账号下放置网页的目录,进行编辑个人网页(传统的方式是先在个人计算机上编辑网页,再使用FTP上传)。

图1 使用Samba 服务器的网络结构