Samba协议基础linux
在NetBIOS出现以后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(ServerMessage Block)协议。这个协议被Microsoft用于它们Lan Manager和WindowsNT服务器系统中,实现不一样计算机之间共享打印机、串行口和通信抽象(如命名管道、邮件插槽等)。ios
随着Internet的流行,Microsoft但愿将这个协议扩展到Internet上去,成为Internet上计算机之间相互共享数据的一种标准。所以它将原有的几乎没有多少技术文档的SMB协议进行整理,从新命名为 CIFS(Common InternetFile System),并打算将它与NetBIOS相脱离,试图使它成为Internet上的一个标准协议。web
所以,为了让Windows和Unix计算机相集成,最好的办法便是在Unix计算机中安装支持SMB/CIFS协议的软件,这样Windows客户就不须要更改设置,就能如同使用WindowsNT服务器同样,使用Unix计算机上的资源了。Samba是用来实现SMB的一种软件,它的工做原理是,让NETBIOS(Windows95网络邻居的通信协议)和SMB(ServerMessage Block)这两个协议运行于TCP/IP通讯协议之上,而且使用Windows的NETBEUI协议让Unix计算机能够在网络邻居上被Windows计算机看到。windows
Samba的工做原理安全
SAMBA主要提供的是SMB/CIFS或者NETBIOS协议的。服务器
因此只要使用了SAMBA,就能实现让Linux出如今Windows的网上邻居里,或者,让Windows的文件共享在Linux上--网络
一旦在linux上安装以后,有两个主要进程:dom
1.nmbd :提供NETBIOS名称解析的tcp
2.smdb : 提供文件共享的。ide
而因为NETBIOS协议对于windows来说监听TCP的139端口和UDP的137,138端口,因此nmbd在linux上模拟出了udp的137和138端口,以及tcp的139端口,smdb上模拟出tcp的445端口。而SAMBA将在Linux上同时监听这4个端口。
Samba的安装与配置
1、安装
yum install samba
安装完成后配置文件是放在/etc/samba/smb.conf
安装完成后查看samba的包
yum list all | grep ^samba
samba-client.x86_64 3.6.23-43.el6_9 @updates
samba-common.x86_64 3.6.23-43.el6_9 @updates
这两个是做为客户端使用的
samba.x86_64 3.6.23-43.el6_9 @updates
这个是做为服务端使用
samba-swat-3.5.10-125.el6.x86_64 //基于https协议的samba服务器web配置界面
2、配置
配置文件主要有4个部分
1、全局配置【global】
2、家目录 【homes】
3、独立的共享【printer】
4、自定义
第一段分析【golbal】
Workgroup = MYGROUP 定义工做组
Server string = Samba Server Version %v
用于当你打开网上邻居时显示的注释信息
netbios name = xxx 显示在终端的名字
interfaces = lo eth0 192.168.12.2/24192.168.13.2/24
hosts allow = 127. 192.168.12. 192.168.13.
定义访问控制列表
Security = user
这一项很重要是用来定义SAMBA的服务安全级别,安全级别主要有4个
1、share:容许任何匿名用户访问
2、user:默认、每个用户访问时都须要提供帐号密码
3、domain/server:
一般意味着用户的帐号密码在认证时时经过第三方集中
认证,而不是经过系统来认证,好比有专门的认证服务
器(ad域、nis等)
若是samba服务器加入windows域环境中,验证工做服将由windows域控制器负责,domain级别的samba服务器只是成为域的成员客户端,并不具有服务器的特性,samba早期的版本就是使用此级别登陆windows域。
4、ads:经过主域控器来认证
passdb backend = tdbsam 全部的samba用户认证方式
load printers = yes 是否去尝试加载打印机
cups options = raw 通用打印系统,指定打印方式
当samba服务器使用ads安全级别加入到windows域环境中,其就具有了domain安全级别模式中全部的功能并能够具有域控制器的功能。
第二段分析【homes】
comment = Homedirectories 注释信息
browseable = no
浏览,若是这个用户不是这个目录的属主,是否能够看到这个目录
no表示只有属主才能看到
writable = yes 是否能够新建文件夹,yes为能够no为不能够
第三段分析【printers】
comment = All printers
path = /var/spool/samba 打印池
browseable = no
guest ok = no 打印机是否公开
wirtable = no
printable = yes
第四段自定义分析【tools】中括号里的表示共享名
comment = mytools 注释
path = /share 共享目录的路径
browseable =yes 是否可浏览
guest ok =yes 是否容许来宾帐号
writable = yes 是否可写
write list = xxx 定义一个列表决定用户/或组是否可写,定义组的时候
,须要用@组名