您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > [RHEL5企业级Linux服务攻略]--第2季 Samba服务全攻略
[RHEL5企业级Linux服务攻略]--第2季Samba服务全攻略1Samba原理1.1Samba概述接触Linux我们听的最多的就是Samba服务,为什么Samba应用这么广泛哈~,原因是Samba最先在Linux和Windows两个平台之间架起了一座桥梁哈,正是由于Samba的出现,我们可以在Linux系统和Windows系统之间互相通信,比如拷贝文件、实现不同操作系统之间的资源共享等等,我们可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印,甚至我们可以使用sambaServer完全取代NT/2K/2K3中的域控制器,做域管理工作,使用也非常方便滴哈~既然samba这样滴强大哈,我们还不赶快来把玩一下哈~~~1.2Samba应用环境文件和打印机共享:文件和打印机共享是Samba的主要功能,SMB进程实现资源共享,将文件和打印机发布到网络之中,以供用户可以访问哈。身份验证和权限设置:smbd服务支持usermode和domainmode等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打印机。名称解析:Samba通过nmbd服务可以搭建NBNS(NetBIOSNameService)服务器,提供名称解析,将计算机的NetBIOS名解析为IP地址。浏览服务:局域网中,Samba服务器可以成为本地主浏览服务器(LMB),保存可用资源列表,当使用客户端访问Windows网上邻居时,会提供浏览列表,显示共享目录、打印机等资源。1.3Samba工作原理Samba服务功能强大,这与其通信基于SMB协议有关。SMB不仅提供目录和打印机共享,还支持认证、权限设置。在早期哈,SMB运行于NBT协议(NetBIOSoverTCP/IP)上,使用UDP协议的137、138及TCP协议的139端口,后期SMB经过开发,可以直接运行于TCP/IP协议上,没有额外的NBT层,使用TCP协议的445端口。(1)Samba工作流程当客户端访问服务器时,信息通过SMB协议进行传输,其工作过程可以分成四个步骤哈:步骤1:协议协商客户端在访问Samba服务器时,发送negprot指令数据包,告知目标计算机其支持的SMB类型。Samba服务器根据客户端的情况,选择最优的SMB类型,并做出回应。--------negprot请求-------客户端服务器--------negprot响应-------步骤2:建立连接当SMB类型确认后,客户端会发送sessionsetup指令数据包,提交帐号和密码,请求与Samba服务器建立连接,如果客户端通过身份验证,Samba服务器会对sessionsetup报文作出回应,并为用户分配唯一的UID,在客户端与其通信时使用。--------sessionsetup&X请求-------客户端服务器--------sessionsetup&X响应-------步骤3:访问共享资源客户端访问Samba共享资源时,发送treeconnect指令数据包,通知服务器需要访问的共享资源名,如果设置允许,Samba服务器会为每个客户端与共享资源连接分配TID,客户端即可访问需要的共享资源哈。--------treeconnect&X请求-------客户端服务器--------treeconnect&X响应-------步骤4:断开连接共享使用完毕,客户端向服务器发送treedisconnect报文关闭共享,与服务器断开连接。--------treedisconnect请求-------客户端服务器--------treedisconnect响应-------(2)Samba相关进程Samba服务是由两个进程组成,分别是nmbd和smbd。nmbd:其功能是进行NetBIOS名解析,并提供浏览服务显示网络上的共享资源列表。smbd:其主要功能就是用来管理Samba服务器上的共享目录、打印机等,主要是针对网络上的共享资源进行管理的服务。当要访问服务器时,要查找共享文件,这时我们就要依靠smbd这个进程来管理数据传输哈~~~2安装Samba服务2.1Samba所需软件在我们安装Samba服务之前哈,我们先来了解一下其所需要的软件包以及它们的用途哈~samba-3.0.25b-0.el5.4.i386.rpm:该包为Samba服务的主程序包。服务器必须安装该软件包,后面的数字为版本号(我们安装时使用的是RHEL5.1DVD版,如果是RHEL5.1CD版则该软件包位于第二张RHEL5安装光盘上)。samba-client-3.0.25b-0.el5.4.i386.rpm:该包为Samba的客户端工具,是连接服务器和连接网上邻居的客户端工具并包含其测试工具(该软件包位于第一张RHEL5安装光盘哈~)samba-common-3.0.25b-0.el5.4.i386.rpm:该包存放的是通用的工具和库文件,无论是服务器还是客户端都需要安装该软件包(这个软件包也位于第一张RHEL5安装光盘哈~)samba-swat-3.0.25b-0.el5.4.i386.rpm:当安装了这个包以后,就可以通过浏览器(比如IE等哈)来对Samba服务器进行图形化管理(这个软件包位于第三张RHEL5安装光盘哈)。2.2Samba的安装建议在安装Samba服务之前,使用rpm-qa命令检测系统是否安装了Samba相关性软件包:rpm-qa|grepsamba如果系统还没有安装Samba软件包,我们可以使用rpm命令安装所需软件包。安装Samba主程序包:rpm-ivhsamba-3.0.25b-0.el5.4.i386.rpm其他软件包的安装方法也一样哈~安装Samba客户端工具:rpm-ivhsamba-client-3.0.25b-0.el5.4.i386.rpm提示已经安装过了哈~安装Samba通用工具和库文件:rpm-ivhsamba-common-3.0.25b-0.el5.4.i386.rpm其实我们一开始rpmqa|grepsamba命令查询时已经发现客户端工具和通用工具及库文件已经安装了哈,我们上面两步安装就可以不要执行了哈,偶主要是演示一下哈~最后我们安装Samba图形化管理工具:rpm-ivhsamba-swat-3.0.25b-0.el5.4.i386.rpm我们发现缺少xinetd,OK,那我们安装一下哈~:rpm-ivhxinetd-2.3.14-10.el5.i386.rpm现在我们再来安装Samba图形化管理工具:rpm-ivhsamba-swat-3.0.25b-0.el5.4.i386.rpm现在我们看到Samba图形化管理工具安装成功了哈~所有软件包安装完毕之后,我们可以使用rpm命令进行查询哈:rpm-qa|grepsamba3Samba常规服务器配置在Samba服务安装完毕之后,并不是直接可以使用Windows或Linux的客户端访问Samba服务器哈,我们还必须对服务器进行设置,下面需要做的操作就是说我们要告诉Samba服务器将哪些目录共享出来给客户端进行访问,并根据需要设置其他选项哈,比如添加对共享目录内容的简单描述信息和访问权限等具体设置。作为我们Linux系统工程师了解及熟悉Samba服务器的搭建流程是至关重要滴。基本的Samba服务器的搭建流程主要分为四个步骤:[1]、编辑主配置文件smb.conf,指定需要共享的目录,并为共享目录设置共享权限。[2]、在smb.conf文件中指定日志文件名称和存放路径。[3]、设置共享目录的本地系统权限。[4]、重新加载配置文件或重新启动smb服务,使用配置生效哈~为了更好地理解设定流程中每一步的作用,下面通过一个图例进行讲解哈~Samba工作流程:---------(1)-------------------(2)----------smb.conf主配置文件[客户端][Samba服务器]--------(4)--------------------(3)----------日志文件(1)客户端请求访问Samba服务器上的Share共享目录。(2)Samba服务器接收到请求后,会查询主配置文件smb.conf,看是否共享了Share目录,如果共享了这个目录则查看客户端是否有权限访问。(3)Samba服务器会将本次访问信息记录在日志文件之中,日志文件的名称和路径都是需要我们设置。(4)如果客户端满足访问权限设置,则允许客户端进行访问。实际上,Samba服务器和我们的图书馆有点相似之处哈,图书馆为读者共享了图书资源,而Samba服务器共享了我们的文件数据哈。图书馆会有图书分类,比如科普类、文学类等,并且图书馆会对借阅的图书做限制,拥有资格的读者,才可以借阅相应的图书,当然读者访问图书馆时,图书管理员会对他们的浏览、借阅信息进行记录。对于Samba服务器来说,其主配置文件smb.conf记录了共享的目录列表。比如share目录,temp目录等。对于每个共享目录,需要配置相应权限,服务器会根据smb.conf文件中的设置,判断客户端是否有权限访问,只有拥有权限才可以访问服务器的资源。Samba服务器同样会对用户的行为进行记录,每一次访问的信息都会记录在日志文件中,以便我们Linux管理员查询哪些客户端访问过Samba服务器。我们大致讲了Samba工作流程后,下面我们将对Samba具体配置过程中遇到的重要概念进行详细讲解哈~~3.1主要配置文件smb.conf我们先从最重要的配置文件开始哦,Samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf。如果把Samba服务器比喻成一个公共图书馆,那么/etc/samba目录中,那么主配置文件/etc/samba/smb.conf文件,就相当于这个图书馆的图书总目录,记录着大量的共享信息和规则,所以该文件是samba服务非常重要的核心配置文件哈,几乎绝大部分的配置文件都在该文件中进行滴。此外,在smb.conf这个配置文档中本身就含有非常丰富的说明哈,所以在我们配置之前可以先看一下这样说明性的文字。我们先看一下smb.conf这个文件哈:vim/etc/samba/smb.confsmb.conf配置文件有288行内容,配置也相对比较复杂哈,不过我们不用担心,Samba开发组按照功能不同,对smb.conf文件进行了分段划分,条理非常地清楚哈。下面我们来具体看下smb.conf的内容哈,smb.conf大致分为三个部分,我们来了解一下,其中我们经常要使用到的字段,我们将以实例解释,其他字段我们整理到字段汇总,有兴趣的可以去看下哈~~1、samba配置简介smb.conf文件的开头部分为samba配置简介,告诉我们smb.conf文件的作用及相关信息。smb.conf中以“#”开头的为注释,为用户提供相关的配置解释信息,方便用户参考,不用修改它哈。smb.conf中还有以“;”开头滴,这些都是samba配置的格式范例,默认是不生效滴,可以通过去掉前面的“;”并加以修改来设置想使用的功能。2、GlobalSettingsGlobalSettings设置为全局变量区域。那什么是全局变量哈?全局变量就是说我们只要在global时进行设置,那么该设置项目就是针对所有共享资源生效滴。这与以后我们学习的很多服务器配置文件相似哈。该部分以[global]开始:smb.conf配置通用格式,对相应功能进行设置:字段=设定值下面我们说下[global]常用字段及设置方法:1)设置工作组或域名称工作组是网络中地位平等的一组计算机,可以通过设置workgroup字段来对samba服务器所在工作组或域名进行设置。我们设置samba服务器的工作组为RHEL52)服务器描述服务器描述实际上类似于备注信息哈,在一个工作组中,可能存在多台服务器,为了方便用户浏览,我们可以在serverstring配置相应描述信息,这样用户就可以通过描述信息知道自己要登录哪台服务器了
本文标题:[RHEL5企业级Linux服务攻略]--第2季 Samba服务全攻略
链接地址:https://www.777doc.com/doc-5900520 .html