1、项目十、配置与管理Samba服务器 项目描述:是谁最先搭起Windows和Linux沟通的桥梁,并且提供不同系统间的共享服务,还能拥有强大的打印服务功能?答案就是Samba。这些使得它的应用环境非常广泛。当然Samba的魅力还远远不止这些。 项目目标: 了解Samba环境及协议 掌握Samba的工作原理 掌握主配置文件Samba.conf的主要配置 掌握Samba服务密码文件 掌握Samba文件和打印共享的设置 掌握Linux和Windows客户端共享Samba服务器资源的方法10.1 认识samba10.3 share服务器实例解析10.4 配置Samba客户端10.5 项目实录10.6 练
2、习题10.7 实践习题10.8 超级链接项目十 配置与管理Samba服务器10.2 配置Samba服务10.1 认识samba 对于接触Linux的用户来说,听的最多的就是Samba服务,为什么是Samba呢?原因是Samba最先在Linux和Windows两个平台之间架起了一座桥梁,正是由于Samba的出现,我们可以在Linux系统和Windows系统之间互相通信,比如拷贝文件、实现不同操作系统之间的资源共享等,我们可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印,甚至我们可以使用Samba Server完全取代NT/2K/2K3中的域控制器,做域
3、管理工作,使用也非常方便。10.1.1 了解Samba应用环境 文件和打印机共享:文件和打印机共享是Samba的主要功能,SMB进程实现资源共享,将文件和打印机发布到网络之中,以供用户可以访问。身份验证和权限设置:smbd服务支持user mode和domain mode等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打印机。名称解析:Samba通过nmbd服务可以搭建NBNS(NetBIOS Name Service)服务器,提供名称解析,将计算机的NetBIOS名解析为IP地址。浏览服务:局域网中,Samba服务器可以成为本地主浏览服务器(LMB),保存可用资源列表,当使用客户端
4、访问Windows网上邻居时,会提供浏览列表,显示共享目录、打印机等资源。 SMB(Server Message Block)通信协议可以看作是局域网上共享文件和打印机的一种协议。它是Microsoft和Intel在1987年制定的协议,主要是作为Microsoft网络的通信协议,而Samba则是将SMB协议搬到UNIX系统上来使用。通过“NetBIOS over TCP/IP”使用Samba不但能与局域网络主机共享资源,也能与全世界的计算机共享资源。因为互联网上千千万万的主机所使用的通信协议就是TCP/IP。SMB是在会话层和表示层以及小部分的应用层的协议,SMB使用了NetBIOS的应用程
5、序接口API。另外,它是一个开放性的协议,允许协议扩展,这使得它变得庞大而复杂,大约有65个最上层的作业,而每个作业都超过120个函数。 10.1.2 了解SMB协议 10.1.3 掌握Samba工作原理 Samba服务功能强大,这与其通信基于SMB协议有关。SMB不仅提供目录和打印机共享,还支持认证、权限设置。在早期,SMB运行于NBT协议(NetBIOS over TCP/IP)上,使用UDP协议的137、138及TCP协议的139端口,后期SMB经过开发,可以直接运行于TCP/IP协议上,没有额外的NBT层,使用TCP协议的445端口。 10.1.3 掌握Samba工作原理(1)Samb
6、a工作流程。 当客户端访问服务器时,信息通过SMB协议进行传输,其工作过程可以分成4个步骤。 协议协商。客户端在访问Samba服务器时,发送negprot指令数据包,告知目标计算机其支持的SMB类型。Samba服务器根据客户端的情况,选择最优的SMB类型并做出回应。如图2-1所示。 建立连接。当SMB类型确认后,客户端会发送session setup指令数据包,提交账号和密码,请求与Samba服务器建立连接,如果客户端通过身份验证,Samba服务器会对session setup报文做出回应,并为用户分配唯一的UID,在客户端与其通信时使用。如图2-2所示。10.1.3 掌握Samba工作原理2
7、.1.3 Samba工作原理 访问共享资源。客户端访问Samba共享资源时,发送tree connect指令数据包,通知服务器需要访问的共享资源名,如果设置允许,Samba服务器会为每个客户端与共享资源连接分配TID,客户端即可访问需要的共享资源。如图2-3所示。 断开连接。 共享使用完毕,客户端向服务器发送tree disconnect报文关闭共享,与服务器断开连接。 10.1.3 掌握Samba工作原理(2)Samba相关进程。 Samba服务是由两个进程组成,分别是nmbd和smbd。 nmbd:其功能是进行NetBIOS名解析,并提供浏览服务显示网络上的共享资源列表。 smbd:其主要
8、功能就是用来管理Samba服务器上的共享目录、打印机等,主要是针对网络上的共享资源进行管理的服务。当要访问服务器时,要查找共享文件,这时我们就要依靠smbd这个进程来管理数据传输。10.1.3 掌握Samba工作原理 项目设计与准备在进行本单元的教学与实验前,需要做好如下准备。(1)已经安装好的Red Hat Enterprise 6。(2)Red Hat Enterprise 6安装光盘或ISO镜像文件。(3)Linux客户端。(4)Windows客户端。(5)VMware 6.5以上虚拟机软件。以上环境可以用虚拟机实现。1Samba的安装 建议在安装Samba服务之前,使用rpm -qa
9、|grep samba命令检测系统是否安装了Samba相关性软件包:rootRHEL6 #rpm -qa |grep sambasamba-winbind-3.6.9-151.el6.x86_64samba-common-3.6.9-151.el6.x86_64samba-3.6.9-151.el6.x86_64samba-client-3.6.9-151.el6.x86_64samba4-libs-4.0.0-55.el6.rc4.x86_64samba-winbind-clients-3.6.9-151.el6.x86_6410.2 任务1 配置samba服务器10.2.1 子任务1 安装
10、Samba服务10.2.1 子任务1 安装Samba服务1Samba的安装 挂载光驱。10.2.1 子任务1 安装Samba服务1Samba的安装 制作用于安装的yum源文件10.2.1 子任务1 安装Samba服务 rootRHEL6 # yum info samba 使用yum命令查看samba软件包的信息,如下所示。 使用yum命令安装samba服务。rootRHEL6 # yum clean all /安装前先清除缓存rootRHEL6 # yum install samba -y10.2.2 子任务2 启动与停止Samba服务1Samba服务的启动 rootrhel6 # servi
11、ce smb start/或者rootrhel6 # /etc/rc.d/init.d/smb start2Samba服务的停止rootrhel6 # service smb stop/或者rootrhel6 # /etc/rc.d/init.d/smb stop10.2.2 子任务2 启动与停止Samba服务3Samba服务的重启rootrhel6 # service smb restart/或者rootrhel6 # /etc/rc.d/init.d/smb restart4Samba服务配置重新加载rootrhel6 # service smb reload/或者rootrhel6 #
12、/etc/rc.d/init.d/smb reloadLinux服务中,当我们更改配置文件后,一定要记得重启服务,让服务重新加载配置文件,这样新的配置才可以生效。10.2.2 子任务2 启动与停止Samba服务5自动加载Samba服务我们可以使用chkconfig命令自动加载SMB服务,如图 rootrhel6 # chkconfig -level 3 smb on #运行级别3自动加载rootrhel6 # chkconfig -level 3 smb off #运行级别3不自动加载10.2.3 子任务3 了解Samba服务器配置的工作流程基本的Samba服务器的搭建流程主要分为4个步骤。(
13、1)编辑主配置文件smb.conf,指定需要共享的目录,并为共享目录设置共享权限。(2)在smb.conf文件中指定日志文件名称和存放路径。(3)设置共享目录的本地系统权限。(4)重新加载配置文件或重新启动SMB服务,使配置生效。 10.2.3 子任务3 了解Samba服务器配置的工作流程Samba工作流程如图 客户端请求访问Samba服务器上的Share共享目录。 Samba服务器接收到请求后,会查询主配置文件smb.conf,看是否共享了Share目录,如果共享了这个目录则查看客户端是否有权限访问。 Samba服务器会将本次访问信息记录在日志文件之中,日志文件的名称和路径都需要我们设置。
14、如果客户端满足访问权限设置,则允许客户端进行访问。 10.2.4 子任务4 主要配置文件smb.conf Samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf。如果把Samba服务器比喻成一个公共图书馆,那么在/etc/samba目录中,主配置文件/etc/samba/smb.conf文件就相当于这个图书馆的图书总目录,记录着大量的共享信息和规则,所以该文件是Samba服务非常重要的核心配置文件,几乎绝大部分的配置文件都在该文件中进行。此外,在smb.conf这个配置文档中本身就含有非常丰富的说明,所以在我们配置之前可以先看一下这些说明性的文字。使用ll命令
15、查看smb.conf文件属性,并使用命令:vim /etc/samba/smb.conf查看文件的详细内容。如图2-7所示。10.2.4 子任务4 主要配置文件smb.conf1Samba配置简介 Smb.conf文件的开头部分为Samba配置简介,告诉我们Smb.conf文件的作用及相关信息。如图2-8所示。smb.conf中以“#”开头的为注释,为用户提供相关的配置解释信息,方便用户参考,不用修改它。 smb.conf中还有以“;”开头的,这些都是Samba配置的格式范例,默认是不生效的,可以通过去掉前面的“;”并加以修改来设置想使用的功能。图2-8 smb.conf主配置文件的简介部分
16、10.2.4 子任务4 主要配置文件smb.conf2Global Settings Global Settings设置为全局变量区域。那什么是全局变量呢?全局变量就是说我们只要在global时进行设置,那么该设置项目就是针对所有共享资源生效的。这与以后我们学习的很多服务器配置文件相似,请读者一定谨记。该部分以global开始,如图2-9所示。 smb.conf配置通用格式,对相应功能进行设置:字段=设定值。global常用字段及设置方法如下所示。 (1)设置工作组或域名称。 工作组是网络中地位平等的一组计算机,可以通过设置workgroup字段来对Samba服务器所在工作组或域名进行设置。比
17、如:workgroup=SmileGroup。 (2)服务器描述。 服务器描述实际上类似于备注信息,在一个工作组中,可能存在多台服务器,为了方便用户浏览,我们可以在server string配置相应描述信息,这样用户就可以通过描述信息知道自己要登录哪台服务器了。比如:server string=Samba Server One。10.2.4 子任务4 主要配置文件smb.conf10.2.4 子任务4 主要配置文件smb.conf(3)设置Samba服务器安全模式。 Samba服务器有share、user、server、domain和ads 5种安全模式,用来适应不同的企业服务器的需求。比如:
18、security=share。 share安全级别模式。客户端登录Samba服务器,不需要输入用户名和密码就可以浏览Samba服务器的资源,适用于公共的共享资源,安全性差,需要配合其他权限设置,保证Samba服务器的安全性。 user安全级别模式。客户端登录Samba服务器,需要提交合法账号和密码,经过服务器验证才可以访问共享资源,服务器默认为此级别模式。 server安全级别模式。客户端需要将用户名和密码提交到指定的一台Samba服务器上进行验证,如果验证出现错误,客户端会用user级别访问。 domain安全级别模式。如果Samba服务器加入Windows域环境中,验证工作将由Window
19、s域控制器负责,domain级别的Samba服务器只是成为域的成员客户端,并不具备服务器的特性,Samba早期的版本就是使用此级别登录Windows域的。 ads安全级别模式。当Samba服务器使用ads安全级别加入到Windows域环境中,就具备了domain安全级别模式中所有的功能并可以具备域控制器的功能。10.2.4 子任务4 主要配置文件smb.conf3Share Definitions共享服务的定义(1)设置共享名。 共享资源发布后,必须为每个共享目录或打印机设置不同的共享名,给网络用户访问时使用,并且共享名可以与原目录名不同。共享名设置非常简单,格式为:共享名共享名【例10-1】
20、 Samba服务器中有个目录为/share,需要发布该目录成为共享目录,定义共享名为public。设置如图2-10所示。10.2.4 子任务4 主要配置文件smb.conf3Share Definitions共享服务的定义(1)设置共享名。在在Windows 7下测试时出现错误界面,如图所示。下测试时出现错误界面,如图所示。10.2.4 子任务4 主要配置文件smb.conf3Share Definitions共享服务的定义(1)设置共享名。错误原因:错误原因:Selinux设置成了强制(设置成了强制(Enforcing)。解决方法:将)。解决方法:将SELinux设设置成允许(置成允许(Pe
21、rmissive)。该设置重启计算机后失效!需要重新设置。)。该设置重启计算机后失效!需要重新设置。10.2.4 子任务4 主要配置文件smb.conf(2)共享资源描述。 网络中存在各种共享资源,为了方便用户识别,可以为其添加备注信息,以方便用户查看时知道共享资源的内容是什么。格式:comment = 备注信息10.2.4 子任务4 主要配置文件smb.conf(3)共享路径。共享资源的原始完整路径,可以使用path字段进行发布,务必正确指定。格式:path = 绝对地址路径【例10-2】 Samba服务器上/share/tools目录存放常用工具软件,需要发布该目录为共享,设置如图所示。1
22、0.2.4 子任务4 主要配置文件smb.conf(4)设置匿名访问。 设置是否允许对共享资源进行匿名访问,可以更改public字段。格式:public = yes #允许匿名访问public = no #禁止匿名访问(5)设置访问用户。如果共享资源存在重要数据的话,需要对访问用户审核,我们可以使用valid users字段进行设置。格式:valid users = 用户名用户名valid users = 组名组名【例10-3】 Samba服务器/share/tech目录存放了公司技术部数据,只允许技术部员工和经理访问,技术部组为tech,经理账号为mang。tech comment=tecc
23、h path=/share/tech valid users=tech,mang(6)设置目录只读。共享目录如果限制用户的读写操作,我们可以通过readonly实现。格式:Read only = yes #只读只读Read only = no #读写读写10.2.4 子任务4 主要配置文件smb.conf 【例10-4】 Samba服务器公共目录/public存放大量共享数据,为保证目录安全我们只允许读取,禁止写入。10.2.4 子任务4 主要配置文件smb.confpublic comment=public path=/public public=yes read only=yes(7)设置
24、目录可写。 如果共享目录允许用户写操作,可以使用writable或write list两个字段进行设置。writable格式:writable = yes #读写读写writable = no #只读只读write list格式:格式:write list = 用户名用户名write list = 组名组名homes为特殊共享目录,表示用户主目录。printers表示共享打印机。 【例10-5】在samba服务器中添加samba账号reading。10.2.4 子任务4 主要配置文件smb.confrootRHEL6 # useradd readingrootRHEL6 # passwd re
25、ading 建立Linux系统账号reading。 添加reading用户的samba账户。rootRHEL6 # smbpasswd -a reading 【例10-5】在samba服务器中添加samba账号reading。10.2.4 子任务4 主要配置文件smb.conf10.2.3 任务3 share服务器实例解析【例10-6】 某公司需要添加samba服务器作为文件服务器,工作组名为Workgroup,发布共享目录/share,共享名为public,这个共享目录允许所有公司员工访问。 这个案例属于samba的基本配置,我们可以使用share安全级别模式,既然允许所有员工访问,则需要为
26、每个用户建立一个Samba账号,那么如果公司拥有大量用户呢?1 000个用户,100 000个用户,一个个设置会非常麻烦,我们可以通过配置security=share来让所有用户登录时采用匿名账户nobody访问,这样实现起来非常简单。step1:建立share目录,并在其下建立测试文件。 rootRHEL6 # mkdir /sharerootRHEL6 # touch /share/test_share.tarstep2:修改Samba主配置文件smb.conf。rootRHEL6 # vim /etc/samba/smb.conf修改配置文件,并保存结果。 10.2.3 任务3 shar
27、e服务器实例解析global workgroup=Workgroup#设置samba服务器工作组名为Workgroup server string=File Server#添加samba服务器注释信息为File Server security=share #设置samba安全级别为share模式,允许用户匿名访问 public #设置共享目录的共享名为public comment=public path=/share#设置共享目录的绝对路径为/share guest ok=yes#允许匿名访问 public=yes#最后设置允许匿名访问10.2.3 任务3 share服务器实例解析 step3
28、:重新加载配置。 Linux为了使新配置生效,需要重新加载配置,可以使用restart重新启动服务或者使用reload重新加载配置。 rootRHEL6 # service smb reload/或者rootRHEL6 # /etc/rc.d/init.d/smb reload Samba服务器通过以上设置,用户就可以不需要输入账号和密码直接登录samba服务器并访问public共享目录了。10.2.3 任务3 share服务器实例解析 关闭防火墙,同时关闭防火墙,同时设置设置SELinux为允许。为允许。关闭防火墙的方法是关闭防火墙的方法是选择选择“系统系统管理管理防火墙防火墙”,打开防火,
29、打开防火墙设置对话框。单击墙设置对话框。单击“禁用禁用”“应用应用”将防火墙关闭,如图将防火墙关闭,如图所示。所示。10.2.3 任务3 share服务器实例解析10.2.3 任务3 share服务器实例解析补充 user服务器实例解析 【例】 如果公司有多个部门,因工作需要,就必须分门别类地建立相应部门的目录。要求将销售部的资料存放在Samba服务器的/companydata/sales/目录下集中管理,以便销售人员浏览,并且该目录只允许销售部员工访问。 需求分析:在/companydata/sales/目录中存放有销售部的重要数据,为了保证其他部门无法查看其内容,我们需要将全局配置中sec
30、urity设置为user安全级别,这样就启用了Samba服务器的身份验证机制,然后在共享目录/companydata/sales下设置valid users字段,配置只允许销售部员工能够访问这个共享目录。step1:建立共享目录,并在其下建立测试文件。rootRHEL6 # mkdir /companydatarootRHEL6 # mkdir /companydata/salesrootRHEL6 # touch / companydata/sales /test_share.tar补充 user服务器实例解析 step2:添加销售部用户和组并添加相应Samba账号。 (1)使用groupa
31、dd命令添加sales组,然后执行useradd命令和passwd命令添加销售部员工的账号及密码。rootRHEL6 # groupadd sales#建立销售组salesrootRHEL6 # useradd -g sales sale1#建立用户sale1,添加到sales组rootRHEL6 # useradd -g sales sale2#建立用户sale2,添加到sales组rootRHEL6 # passwd sale1#设置用户sale1密码rootRHEL6 # passwd sale2#设置用户sale2密码补充 user服务器实例解析(2)接下来为销售部成员添加相应Samb
32、a账号。rootRHEL6 # smbpasswd a sale1rootRHEL6 # smbpasswd a sale2补充 user服务器实例解析(3)修改Samba主配置文件smb.conf。global workgroup = Workgroup server string = File Server security = user#设置设置user安全级别模式安全级别模式; passdb backend = tdbsam smb passwd file = /etc/Samba/smbpasswdsales #设置共享目录的共享名为sales comment=sales path=
33、/companydata/sales#设置共享目录的绝对路径设置共享目录的绝对路径 valid users = sales#设置可以访问的用户为设置可以访问的用户为sales组组 补充 user服务器实例解析step3:重新加载配置。要让修改后的Linux配置文件生效,需要重新加载配置。rootRHEL6 # service smb reload/或者rootRHEL6 # /etc/rc.d/init.d/smb reloadstep4:测试。补充 user服务器实例解析10.2.4 任务4 配置Samba客户端1Linux客户端访问Samba共享 Linux客户端访问服务器主要有两种方法。
34、(1)使用smbclient命令。 在Linux中,Samba客户端使用smbclint这个程序来访问Samba服务器时,先要确保客户端已经安装了Samba-client这个rpm包。 rootRHEL6 # rpm -qa|grep Samba 默认已经安装,如果没有安装可以用前面讲过的命令来安装。smbclient可以列出目标主机共享目录列表:smbclient命令格式:smbclient -L 目标目标IP地址或主机名地址或主机名 -U 登录用户名登录用户名%密码密码 当我们查看RHEL6(192.168.0.10)主机的共享目录列表时,提示输入密码,这时候可以不输入密码,我们直接按回车
35、,这样表示匿名登录,然后就会显示匿名用户可以看到的共享目录列表。rootRHEL6 # smbclient -L RHEL6rootRHEL6 # smbclient -L 192.168.0.10 若想使用Samba账号查看Samba服务器端共享的目录,可以加上-U参数,后面跟上用户名%密码。下面的命令显示只有boss账号才有权限浏览和访问的tech技术部共享目录。rootRHEL6 # smbclient -L 192.168.0.10 -U boss%Password不同用户使用smbclient浏览的结果可能是不一样,这要根据服务器设置的访问控制权限而定。10.2.4 任务4 配置Sa
36、mba客户端2Windows客户端访问Samba共享 (1)依次打开“开始”“运行”,使用UNC路径直接进行访问。形如:RHEL6tech 或者 192.168.0.10tech (2)映射网络驱动器访问Samba服务器共享目录。双击打开“我的电脑”,再依次单击“工具”“映射网络驱动器”,在“映射网络驱动器”对话框中选择“Z”驱动器,并输入tech共享目录的地址,比如:192.168.0.10tech。按“完成”按钮,在接下来的对话框中输入可以访问tech共享目录的Samba账号和密码。 再次打开“我的电脑”,驱动器Z就是我们的共享目录tech,可以很方便地访问了。10.2.4 任务4 配置S
37、amba客户端读者还可以使用smbclient命令行共享访问模式浏览共享的资料。smbclient命令行共享访问模式命令格式:smbclient /目标目标IP地址或主机名地址或主机名/共享目录共享目录 -U 用户名用户名%密码密码下面的命令结果显示服务器上tech共享目录的内容。rootRHEL6 # smbclient /192.168.0.10/tech -U boss% Password另外smbclient登录Samba服务器后,我们可以使用help查询所支持的命令。10.2.4 任务4 配置Samba客户端(2)使用mount命令挂载共享目录。mount命令挂载共享目录格式:mou
38、nt -t cifs /目标目标IP地址或主机名地址或主机名/共享目录名称共享目录名称 挂载点挂载点 -o username=用户名用户名rootRHEL6# mount -t cifs /192.168.0.10/tech /mnt/Sambadata/ -o username=boss% Password 表示挂载192.168.0.10主机上的共享目录tech到/mnt/Sambadata目录下,cifs是Samba所使用的文件系统。10.2.4 任务4 配置Samba客户端10.5 Samba排错 10.5.1 Linux服务的一般排错方法1错误信息 一定要仔细查看接收到的错误信息。如
39、果有错误提示的话,根据错误提示,去判断产生问题所在。2配置文件 配置文件存放服务的设置信息,用户可以修改配置文件,以实现服务的特定功能。但是,用户的配置失误,会造成服务无法正常运行。为了减少输入引起的错误,很多服务的软件包都自带配置文件检查工具,用户可以通过这些工具对配置文件进行检查。3日志文件 一旦服务出现问题,不要惊慌,用组合键“Ctrl”+“Alt”+“F1”“F6”切换到另外一个文字终端,使用tail命令来动态监控日志文件。rootRHEL6 # testparm -F /var/log/messages10.5.2 Samba服务的故障排错 step1:使用testparm命令检测。
40、 使用testparm命令检测smb.conf文件的语法,如果报错,说明smb.conf文件设置错误。根据提示信息,去修改主配置文件,进行调试。rootRHEL6 # testparm /etc/Samba/smb.confstep2:使用ping命令测试。 Samba服务器主配置文件排出错误后,再次重启SMB服务,如果客户端仍然无法连接Samba服务器,客户端可以使用ping命令测试。根据出现的不同情况进行分析。 10.5.2 Samba服务的故障排错 如果没有收到任何提示,说明客户端TCP/IP协议安装有问题,需要重新安装该协议,然后重试。如果提示“host not found”(无法找到
41、主机),那么,客户端的DNS或者/etc/hosts文件没有设置正确,确保客户端能够使用名称访问Samba服务器。无法ping通还可能是防火墙设置的问题。需要重新设置防火墙的规则,开启Samba与外界联系的端口。还有一种可能,执行ping命令时,主机名输入错误更正重试!step3:使用smbcliet命令测试。10.5.2 Samba服务的故障排错 (1)如果Samba服务器正常,并且用户采用正确的账号和密码,去执行smbclient命令可以获取共享列表。rootRHEL6 # smbclient -L 192.168.0.10 -U test%123Domain=RHEL6 OS = Uni
42、x Server = Samba 3.0.23c-2 Sharename Type Comment public Disk public IPC$ IPC IPC Service(file server) test Disk Home DirectoriesDomain=RHEL6 OS = Unix Server = Samba 3.0.23c-2 Server Comment - - Workgroup Master - - Workgroup10.5.2 Samba服务的故障排错 (2)如果接收到一个错误信息提示“tree connect failed”,如下所示。rootRHEL6 #
43、 smbclient /192.168.0.10/public -U test%123tree connect failed:Call returned zero bytes(EOF)说明可能在smb.conf文件中设置了host deny字段,拒绝了客户端的IP地址或域名,可以修改smb.conf,允许该客户端访问即可。(3)如果返回信息“connection refused”(连接拒绝),如下所示。rootslave# smbclient -L 192.168.0.10Error connecting to 192.168.0.10(Connection refused)Connectio
44、n to 192.168.0.10 failed说明Samba服务器smbd进程可能没有开启。确保smbd和nmbd进程开启,并使用netstat -a检查netbios使用的139端口是否处在监听状态。10.5.2 Samba服务的故障排错 (4)提示信息如果为“session setup failed”(连接建立失败),表明服务器拒绝了连接请求。rootRHEL6 # smbclient -L 192.168.0.10 -U test%1234session setup failed:NT_STATUS_LOGON_FAILURE 这是因为用户输入的账号或密码错误造成的,请更正重试。(5)有时会收到提示信息“Your server software is being unfriendly”(你的服务器软件存在问题)。 一般是因为配置smbd时使用了错误的参数,或者启动smbd时遇到的类似严重错误。可以使用前面提到的testparm去检查相应的配置文件,并检查日志。