第10章Samba服务器管理与配置本章目录Linux网络服务器配置与管理10.1SAMBA概述10.2配置SAMBA共享服务10.3SAMBA的图形化配置10.4实训指导:公司文件服务器的设置10.5课后习题2019/10/17SAMBA概述配置SAMBA共享服务SAMBA的图形化配置本章重难点第10章Samba服务器管理与配置在当前的桌面操作系统应用中,Windows以其良好的可操作性获得了大部分人的青睐,但在一个机构或者网络中,后台服务器往往是由Linux所承担,比如一个用户经常需要更新数据并将其存放于服务器上,那么他在客户端修改完毕数据文件之后,可以通过FTP服务将文件上传至服务器,在需要的时候再下载下来进行使用或者更新,这样使用起来固然比较方便,然而现实中有时会发生这样的情况,那就是不记得到底哪一端的数据文件是最新的,这样会给应用带来很大的麻烦,而Samba恰好可以将此问题解决。第10章Samba服务器管理与配置10.1Samba概述Samba提供了Linux和Windows之间的文件和打印机共享服务。一台Linux的主机,如果安装了SambaServer,就能充当共享服务器,同时也能作为客户机访问网络中其它Windows系统上的共享文件或其它安装了SambaServer的Linux系统上的共享文件。Samba所使用的协议是SMB,SMB(ServerMessageBlock)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议,而Samba则是将SMB协议搬到UNIX/Linux上来应用。第10章Samba服务器管理与配置10.1Samba概述Samba的主要功能有:文件和打印机共享:文件和打印机共享是Samba的主要功能,SMB进程实现资源共享,将文件和打印机发布到网络之中,以供用户访问。身份验证和权限设置:smbd服务支持usermode和domainmode等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打印机。名称解析:Samba通过nmbd服务可以搭建NBNS(NetBIOSNameService)服务器,提供名称解析,将计算机的NetBIOS名解析为IP地址。第10章Samba服务器管理与配置10.1Samba概述浏览服务:局域网中,Samba服务器可以成为本地主浏览服务器(LMB),保存可用资源列表,当使用客户端访问Windows网上邻居时,会提供浏览列表,显示共享目录、打印机等资源。第10章Samba服务器管理与配置10.1Samba概述默认情况下,RHEL5已将Samba安装在系统上,其服务名称为smb。安装了SambaServer的Linux主机充当共享服务器,可以为其它Windows和Linux客户端提供服务。第10章Samba服务器管理与配置10.2配置Samba共享服务1.Samba所需软件与服务的启动。Samba需要软件包来支持,用户可以通过rpm命令来查看系统是否已经安装了相应的软件包:第10章Samba服务器管理与配置10.2.1服务器的配置如果系统内缺少相应的软件包,可以到RHEL5的安装光盘内查找到安装包,也可通过访问相关网站比如去下载相应的安装包,然后进行安装即可,比如安装samba-swat软件包:2.Samba服务的启动等命令。Samba服务的启动、关闭、重启服务、查看状态、重新载入命令为:第10章Samba服务器管理与配置10.2.1服务器的配置如果用户需要系统启动后自动运行Samba服务,可以运行以下命令:3.Samba服务的主配置文件。Samba的配置文件存放于/etc/samba/目录下,其中/etc/samba/smb.conf为主配置文件,主配置文件大致可分为两部分,第一部分为全局变量配置(GlobalSettings),通过一系列参数定义Samba服务器的工作规则;第二部分为共享定义(ShareDefinitions),包括目录共享和打印共享。需要注意的是,虽然Samba只有一个配置文件,但规则却非常灵活和复杂,作为初学者没有必要去研究太高深的原理和设置,只需要掌握基本的应用就可以了。4.全局变量配置部分。全局变量就是说用户只要在global时进行设置,那么该设置项目就是针对所有共享资源生效。workgroup=MYGROUP:用于定义Samba所在的工作组或域,比如将此工作组参数修改为“workgroup”,并将Samba服务重启后,在Windows中查看到的效果如图10-1所示,在网上邻居中将查看到所有工作组为“workgroup”的计算机。第10章Samba服务器管理与配置10.2.1服务器的配置图10-1Windows客户机查看Samba服务器serverstring=SambaServerVersion%v:用于定义计算机的描述,设定的内容将出现在网上邻居内,如图101所示。在一个工作组中,可能存在多台服务器,为了方便用户浏览,可以在serverstring配置相应描述信息,这样用户就可以通过描述信息知道自己要登录的是哪台服务器,比如可以修改此项为:serverstring=RHEL5TESTFILESERVER。security=user:设置服务安全级别,samba服务器有share、user、server、domain和ads五种安全级别,用来适应不同的企业服务器需求,描述如下:•share安全级别:客户端登录samba服务器,不需要输入用户名和密码就可以浏览samba服务器的资源,适用于公共的共享资源,安全性差。需要配合其他权限设置来保证samba服务器的安全性。•user安全级别:客户端登录samba服务器,需要提交合法帐号和密码,经过服务器验证才可以访问共享资源,服务器默认为此级别模式。第10章Samba服务器管理与配置10.2.1服务器的配置•domain安全级别:如果samba服务器加入windows域环境中,验证工作服将由windows域控制器负责,domain级别的samba服务器只是成为域的成员客户端,并不具备服务器的特性,samba早期的版本就是使用此级别登录windows域。•ads安全级别:samba服务器使用此安全级别加入到windows域环境中,就具备了domain安全级别中所有的功能并可以具备域控制器的功能。•passdbbackend=tdbsam:Samba启用的安全机制之一,用户可对此行进行注释处理,注释以后将不能使用swat的password页面管理账户功能。•smbpasswdfile=/etc/samba/smbpasswd:设置Samba的安全机制为smbpasswd方式,原配置文件内如无此行可自行添加。•hostsallow:限制允许连接到SambaServer的客户机,多个参数以空格隔开。表示方法可以是完整的IP,也可以是网段。默认此行被注释,允许任何主机连接到本机。•loadprinters=yes:是否自动加载打印机,如果不想自动加载打印机,则可将参数修改为no,缺省值为yes。第10章Samba服务器管理与配置10.2.1服务器的配置•printcapname=lpstat:Samba服务启动时,自动加载的打印机配置文件,常修改为/etc/printcap。•printing=cups:设置打印机类型。5.共享定义部分。本部分设置对象为共享目录和打印机,如果管理者想发布共享资源,需要对ShareDefinitions部分进行配置。ShareDefinitions字段非常丰富,设置灵活,一个常见的示例如下:第10章Samba服务器管理与配置10.2.1服务器的配置说明:[public]:设置共享名,共享资源发布后,必须为每个共享目录设置不同的共享名供网络用户访问时使用,并且共享名可以与原目录名不同。在示例中可以看到,Samba服务器中将目录/home/samba作为共享发布出去,定义共享名为“public”。•comment=PublicStuff:共享资源描述,网络中存在各种共享资源,为了方便用户识别,可以为其添加共享资源描述信息,以方便用户查看时知道共享资源的内容是什么。•path=/home/samba:共享路径,共享资源的原始完整路径,可以使用path字段进行发布。•public=yes:设置匿名访问,共享资源如果对匿名访问进行设置,可以更改public字段。yes为允许匿名访问,no为禁止匿名访问。•writable=yes:设置目录是否可写,可以使用writable或writelist两个字段进行设置,比如:第10章Samba服务器管理与配置10.2.1服务器的配置需要注意的是在示例中虽然指定了writable=yes,但如果系统中目录的权限是非可写的,那么网络用户访问/home/samba时依然不可写。在共享定义部分还有其它常用的参数有:•adminusers:例如adminusers=xiaoxiao,这个参数用来赋予用户对共享资源的管理员权限,意味着这些用户可以以root身份对当前共享所有的文件操作。这个选项要慎用,缺省adminusers=no。•validusers:指定共享资源的有效用户,即允许访问该资源的用户,如validusers=user1,user2。•invalidusers:和validusers相反,指定那些用户不可访问这共享资源。•guestok:指明该共享资源是否能给游客帐号访问,这个开关有时候也叫public,所以有的配置文件中出现guestok=yes其实和public=yes是一样的。第10章Samba服务器管理与配置10.2.1服务器的配置readonly:设置目录只读,共享目录如果限制用户的读写操作,可指定readonly=yes。•readlist:指定只能读取该共享资源的用户和组。•browseable:定共享是否可以浏览,默认是yes。6.Samba用户的建立。samba服务器发布共享资源后,客户端访问samba服务器需要提交用户名和密码进行身份验证,其验证信息存放于/etc/samba/smbpasswd文件内。只有验证成功客户端与samba服务器才能连接成功。smbpasswd:创建或删除Samba用户,如果是创建Samba用户,那么该用户必须首先是Linux系统用户才可以。smbpasswd命令常用的格式有:smbpasswd-a用户名//添加用户。smbpasswd-x用户名//删除用户。第10章Samba服务器管理与配置10.2.1服务器的配置第10章Samba服务器管理与配置10.2.1服务器的配置第10章Samba服务器管理与配置10.2.2应用案例第10章Samba服务器管理与配置10.2.2应用案例第10章Samba服务器管理与配置10.2.2应用案例第10章Samba服务器管理与配置10.2.2应用案例Linux客户端访问Samba服务器常用的方法有:1.使用smbclient查看目标主机共享目录列表。格式:smbclient-L目标IP地址或主机名-U登录用户名%密码第10章Samba服务器管理与配置10.2.3Samba客户端应用2.使用smbclient访问共享资源。格式:smbclient//目标IP地址或主机名/共享目录-U用户名%密码第10章Samba服务器管理与配置10.2.3Samba客户端应用第10章Samba服务器管理与配置10.2.3Samba客户端应用3.使用mount挂载共享目录。格式:mount-tcifs//目标IP地址或主机名/共享目录名称挂载点-ousername=用户名(cifs是samba所使用的文件系统)第10章Samba服务器管理与配置10.2.3Samba客户端应用要访问Samba服务器配置工具,须依次单击“主菜单→系统设置→服务器设置→Samba服务器”或者运行命令“system-config-samb