• Samba用来让UNIX、类UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS网络协议做连结,并可以使用对方的打印机
• Samba软件的发行遵循GPL许可
• Samba是用来实现SMB协议的一种软件
• SMB协议是客户机/服务器型协议
• Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block服务消息块)协议
• Samba是用来实现SMB的一种软件,它的工作原理是,让NetBIOS和SMB这两个协议运行于TCP/IP通信协议之上,并且使用Windows的NetBEUI协议让Unix计算机可以在网络邻居上被Windows计算机看到
• 该协议是微软与英特尔公司在1987年制定的,主要作为微软网络的文件共享协议,现在微软网络使用的文件共享协议称为CIFS(通用internet文件系统),基本可以认为CIFS是SMB的升级版本.
• Samba的核心是两个守护进程smbd和nmbd程序,在服务器启动到停止期间持续运行
• SMBD负责处理客户机的请求,当客户机请求到达SAMBA服务器端时由SMBD检查客户机的请求,并对用户进行身份验证.最终建立连接为客户提供服务.NMBD负责处理NETBIOS名称,可以作为WINS服务器以WINS代理使用.
• Samba的配置文件位置在/etc/samba目录中,文件名为smb.conf
• 在SMB协议中,计算机为了访问网络资源,就需要了解网络上存在的资源列表(例如在Windows下使用网络邻居查看可以访问的计算机),这个机制就被称为浏览(Browse)。虽然SMB协议中经常使用广播的方式,但如果每次都使用广播的方式了解当前的网络资源(包括提供服务的计算机和各个计算机上的服务资源),就需要消耗大量的网络资源和浪费较长的查找时间,因此最好在网络中维护一个网络资源的列表,以方便查找网络资源。只有必要的时候,才重新查找资源,例如使用Windows下的查找计算机功能。
• 但没有必要每个计算机都维护整个资源列表,维护网络中当前资源列表的任务由网络上的几个特殊计算机完成的,这些计算机被称为Browser,这些Browser通过记录广播数据或查询名字服务器来记录网络上的各种资源。Browser并不是事先指定的计算机,而是在普通计算机之间通过自动进行的推举产生的。不同的计算机可以按照其提供服务的能力,设置在推举时根据优先级
• Samba主要功能
– 提供Windows NT风格的文件和打印机共享
– 解析NetBIOS名字
– 提供SMB客户功能
– 备份PC上的资源
• 与Samba相关的软件包
– samba-3.0.23c-2.i386.rpm(2)服务器端程序
– samba-client-3.0.23c-2.i386.rpm (1)客户端应用程序
– samba-common-3.0.23c-2.i386.rpm (1)主配置文件和用户手册
– samba-swat-3.0.23c-2.i386.rpm (3)web方式配置samba,需要开启http
– system-config-samba-1.2.39-1.el5.noarch.rpm (2)在xwindow中配置Samba的工具
• Samba的核心是两个守护进程smbd和nmbd程序,在服务器启动到停止期间持续运行
– smbd是Samba的核心,负责建立对话进程、验证用户身份、提供对文件系统和打印机的访问机制
– nmbd实现了网络浏览服务器的功能,它的作用是对外发布Samba服务器提供的服务
# ps -ef |grep -e smbd -e nmbd
root 4556 1 0 20:06 ? 00:00:00 smbd -D
root 4559 1 0 20:06 ? 00:00:00 nmbd -D
Samba服务配置文件
• 文件格式
– [global]——全局参数段。这一段中定义的参数是服务器的全局性设置,如果在其他段中没有再对这些参数进行重新设置的话还可以作为它们的默认参数
– [home]——个人目录段。如果配置文件中包含这个段,就可以在客户端建立自己在服务器上的个人目录的连接
– [printers]——打印机共享设置段
– 段中的参数按以下格式定义 :
parameter = value
#注释 \可以将一行分成多行 ;表示被忽略的配置
• 全局段中常用的参数
– workgroup = MYGROUP
– server string = MY Samba Server
– hosts allow = 网络或者主机 hosts allow = ip ip
– printcap name = printcapFile
– load printers = yes|no 是否允许访问打印机
– printing = PrintSystemType cups
– guest account = pcguest 默认是nobody(可以改成其它系统用户)
– log file = LogFileName 以客户机的netbios的名字命名的文件
– max log size = size 定义日志文件的大小,0代表没有限制,单位是KB
– security = security_level share user server domain
– password server = <NT-Server-Name> server/domain
– password level = n 用户名和密码的大小写组合会尝试多少次
– username level = n
– encrypt passwords = yes|no win95 OS/R2和NT SP3后默认传送加密的密码
– smb passwd file = smbPasswordFile
转载于:https://blog.51cto.com/sngyqd/394690