您好,欢迎访问三七文档
第03030303章SambaSambaSambaSamba服务的配置与应用本章导读�Samba的概述�Samba服务的配置文件�Samba服务的文件共享�Samba服务的打印共享�启动和停止Samba服务�Linux客户端的访问�Windows客户端的访问3.1Samba的概述•SMB协议•Samba服务•Samba服务工作原理SMB协议它是Microsoft和Intel在1987年开发的,该协议可以用在TCP/IP之上,也可以用在其他网络协议(如IPX和NetBEUI)之上。通过SMB协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通过SMB协议,应用程序还可以访问远程服务器端的文件和打印机等资源。Samba服务Linux使用一个被称为Samba的程序集来实现SMB协议。通过Samba,可以把Linux系统变成一台SMB服务器,使Windows95以上的Windows用户能够使用Linux的共享文件和打印机,同样的Linux用户也可以通过SMB客户端使用Windows上的共享文件和打印机资源。Samba服务目前Samba的最新版本是3.0.26,它的主要功能如下。(1)提供Windows风格的文件和打印机共享。Windows95、Windows98、WindowsNT、Windows2000、WindowsXP、Windows2003等操作系统可以利用Samba共享Linux等其他操作系统上的资源,而从外表看起来和共享Windows的资源没有区别。(2)在Windows网络中解析NetBIOS的名字。为了能够利用局域网上的资源,同时使自己的资源也能被别人所利用,各个主机都定期地向局域网广播自己的身份信息。负责收集这些信息,提供检索的服务器也被称为浏览服务器,而Samba能够实现这项功能。同时在跨越网关的时候Samba还可以作为WINS服务器使用。(3)提供SMB客户功能。利用Samba程序集提供的smbclient程序可以在Linux中以类似于FTP的方式访问Windows共享资源。(4)提供一个命令行工具,利用该工具可以有限制地支持Windows的某些管理功能。Samba服务工作原理Samba服务工作原理Samba服务的具体工作过程如图3-4所示。①首先客户端发送一个SMBnegprot请求数据报,并列出它所支持的所有SMB协议版本。服务器收到请求信息后响应请求,并列出希望使用的协议版本。如果没有可使用的协议版本则返回0XFFFFH,结束通信。②协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SesssetupX请求数据报实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后服务器通过发送一个SesssetupX应答数据报来允许或拒绝本次连接。③当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconXSMB数据报并列出它想访问网络资源的名称,之后服务器会发送一个TconX应答数据报以表示此次连接是否被接受或拒绝。④连接到相应资源后,SMB客户端就能够通过openSMB打开一个文件,通过readSMB读取文件,通过writeSMB写入文件,通过closeSMB关闭文件。Samba服务工作原理3.2Samba服务的安装默认情况下,RedHatEnterpriseLinux5安装程序没有安装Samba服务,可使用下面的命令检查系统是否已经安装了Samba或查看已经安装了何种版本。rpm-qsambarpm-qsambarpm-qsambarpm-qsamba如果系统还没有安装Samba服务。如果现在要安装,可将RedHatEnterpriseLinux5的第2张安装盘放入光驱,加载光驱后在光盘的Server目录下找到Samba服务程序的RPM安装包文件samba-3.0.23c-2.i386.rpm,然后使用下面的命令安装Samba。rpm-rpm-rpm-rpm-ivhivhivhivh/mnt/Server/samba-3.0.23c-2.i386.rpm/mnt/Server/samba-3.0.23c-2.i386.rpm/mnt/Server/samba-3.0.23c-2.i386.rpm/mnt/Server/samba-3.0.23c-2.i386.rpm3.3Samba服务的配置文件•Samba服务的主配置文件•Samba服务的密码文件•SambaSambaSambaSamba服务的日志文件Samba服务的主配置文件Samba服务的主配置文件/etc/samba/smb.conf由两部分构成。1.GlobalSettings该设置都是与Samba服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的。2.ShareDefinitions该设置针对的是共享目录个别的设置,只对当前的共享资源起作用。Samba服务的密码文件与Samba服务相关的密码文件共有两个。1./etc/samba/smbpasswd2./etc/samba/smbusersSamba服务的日志文件Samba服务的日志默认存放在/var/log/samba目录中,Samba服务为所有连接到Samba服务器的计算机建立个别的日志文件,同时也将NMB服务和SMB服务的运行日志分别写入nmbd.log和smbd.log日志文件中。3.4Samba服务的文件共享•全局参数•用户映射•使用加密口令•共享目录全局参数1.设置Samba服务器所属的群组名称或Windows的域名workgroup=MYGROUP2.设置Samba服务器的简要说明serverstring=SambaServer3.设置可访问Samba服务器的主机、子网或域hostsallow=192.168.1.192.168.2.127.4.设置Samba服务启动时,将自动加载的打印机配置文件printcapname=/etc/printcap全局参数5.设置是否允许打印配置文件中的所有打印机开机时自动加载loadprinters=yes6.设置guest账号名guestaccount=pcguest7.指定Samba服务器使用的安全等级security=user全局参数Samba服务器的安全等级共有以下5类。(1)share安全等级(2)user安全等级(3)server安全等级(4)domain安全等级(5)ads安全等级全局参数8.有多个网卡的Samba服务器设置需要监听的网卡interfaces=网卡IP地址或网络接口9.设置Samba服务器同时充当WINS服务器winssupport=yes10.设置WINS服务器的IP地址winsserver=w.x.y.z用户映射用户映射通常是在Windows和Linux主机之间进行。两个系统拥有不同的用户账号,用户映射的目的就是将不同的用户映射成为一个用户。做了映射后的Windows账号,在使用Samba服务器上的共享资源时,可以直接使用Windows账号进行访问。要使用用户映射,只需将smb.conf配置文件中usernamemap=/etc/samba/smbusers前的注释符号“;”去除。然后编辑文件/etc/samba/smbusers,将需要映射的用户添加到文件中。参数格式为:单独的Linux账号=要映射的Windows账号列表使用加密口令全局参数“encryptpassword”设置项可用来指定用户的密码是否以加密的方式发送到Samba服务器,默认值是使用此功能。参数格式如下:encryptpassword=yes或no使用“yes”表示采用加密的方式发送密码,使用“no”则相反。Windows操作系统也是采用加密的方式发送密码。如果此参数设置为“no”的话,就必须修改Windows系统的注册表。为了简化用户的操作,Samba提供了多种Windows操作系统类型的注册表文件,这些文件存放在/usr/share/doc/samba-3.0.23c/registry目录中。共享目录1.设置用户个人的主目录它的相关设置项目如图3-17所示。共享目录2.设置一个共享目录【例】设置共享目录share,它的本机路径为“/home/share”,只有share组的用户可以读写该目录,tom用户只能读取。具体的步骤如下。①以root用户登录系统,使用命令groupaddgroupaddgroupaddgroupaddshareshareshareshare建立share组,并利用命令usermodusermodusermodusermod-Gshare-Gshare-Gshare-Gshareygjygjygjygj将ygj用户添加到share组中。②使用命令mkdirmkdirmkdirmkdir/home/share/home/share/home/share/home/share在/home目录下建立子目录share。③使用命令chown:sharechown:sharechown:sharechown:share/home/share/home/share/home/share/home/share设置share目录所属的组为share组,然后使用命令chmodchmodchmodchmod-c-c-c-cg+wxrg+wxrg+wxrg+wxr/home/share/home/share/home/share/home/share设置share组对该目录具有读写和执行权限。④在smb.conf配置文件末尾添加如图3-18所示的配置项目。3.5Samba服务的打印共享与共享打印有关的配置文件主要是在smb.conf中的[printers]配置项中。配置参数与共享目录是基本相同的。3.6启动和停止Samba服务1.启动Samba服务/etc//etc//etc//etc/rc.d/init.d/smbrc.d/init.d/smbrc.d/init.d/smbrc.d/init.d/smbstartstartstartstart2222.停止SambaSambaSambaSamba服务etc/etc/etc/etc/rc.d/init.d/smbrc.d/init.d/smbrc.d/init.d/smbrc.d/init.d/smbstopstopstopstop3333.重新启动SambaSambaSambaSamba服务/etc//etc//etc//etc/rc.d/init.d/smbrc.d/init.d/smbrc.d/init.d/smbrc.d/init.d/smbrestartrestartrestartrestart3.6启动和停止Samba服务4.自动启动Samba服务如果需要让Samba服务随系统启动而自动加载,可以执行“ntsysv”命令启动服务配置程序,找到“smb”服务,在其前面加上“*”星号,然后选择“确定”即可。3.7Linux客户端的访问•利用主机名访问共享资源•smbclient•smbmount/smbumount利用主机名访问共享资源如果用户需要利用主机名访问共享资源的话,可以设置lmhosts文件来实现。它的功能与WINS服务器类似,就是提供主机名与IP地址的对应数据。该文件的存放位置为:/etc/samba/lmhosts。每条记录的格式为:IP地址主机名(NetBIOS名称)smbclient默认情况下,RedHatEnterpriseLinux安装程序会将smbclient安装在系统上,读者可使用下面的命令检查系统是否已经安装了smbclient或查看已经安装了何种版本。rpm-qsamba-client如果系统还未安装smbclient,应将RedHatEnterpriseLinux5的第1张安装盘放入光驱,加载光驱后在光盘的Server目录下找到smbclient的RPM安装包文件samba-client-3.0.23c-2.i386.rpm,使用下面命令安装sm
本文标题:Red.Hat.Linux服务器配置与应用(第2版)第03章 Samba服务的配置与应用
链接地址:https://www.777doc.com/doc-5327302 .html