Samba协议基础
在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(ServerMessage Block)协议。这个协议被Microsoft用于它们Lan Manager和WindowsNT服务器系统中,实现不同计算机之间共享打印机、串行口和通讯抽象(如命名管道、邮件插槽等)。
随着Internet的流行,Microsoft希望将这个协议扩展到Internet上去,成为Internet上计算机之间相互共享数据的一种标准。因此它将原有的几乎没有多少技术文档的SMB协议进行整理,重新命名为 CIFS(Common InternetFile System),并打算将它与NetBIOS相脱离,试图使它成为Internet上的一个标准协议。
因此,为了让Windows和Unix计算机相集成,最好的办法即是在Unix计算机中安装支持SMB/CIFS协议的软件,这样Windows客户就不需要更改设置,就能如同使用WindowsNT服务器一样,使用Unix计算机上的资源了。Samba是用来实现SMB的一种软件,它的工作原理是,让NETBIOS(Windows95网络邻居的通讯协议)和SMB(ServerMessage Block)这两个协议运行于TCP/IP通信协议之上,并且使用Windows的NETBEUI协议让Unix计算机可以在网络邻居上被Windows计算机看到。
Samba的工作原理
SAMBA主要提供的是SMB/CIFS或者NETBIOS协议的。
所以只要使用了SAMBA,就能实现让Linux出现在Windows的网上邻居里,或者,让Windows的文件共享在Linux上--
一旦在linux上安装之后,有两个主要进程:
1.nmbd :提供NETBIOS名称解析的
2.smdb : 提供文件共享的。
而由于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 定义一个列表决定用户/或组是否可写,定义组的时候
,需要用@组名
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。