linux第二章-samba.ppt_第1页
linux第二章-samba.ppt_第2页
linux第二章-samba.ppt_第3页
linux第二章-samba.ppt_第4页
linux第二章-samba.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章Samba服务器配置与应用,主要内容:了解SMB协议;掌握Samba工作原理及应用环境熟悉Samba安装方法掌握Samba服务器配置方法掌握客户端访问Samba服务器方法,SMB协议,SMB协议SMB(ServerMessagesBlock,服务信息块)是一种在局域网上的共享文件或打印机的协议。主要用于unix类与windows不同平台之间计算机之间的文件打印机等资源的共享.它是Microsoft和Intel在1987年开发的,该协议可以用在TCP/IP之上,也可以用在其他网络协议(如IPX和NetBEUI)之上。通过SMB协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通过SMB协议,应用程序还可以访问远程服务器端的文件和打印机等资源。,SMB,NetBIOS协议NetBIOS协议是由IBM公司开发,主要用于数十台计算机的小型局域网。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,几乎所有的局域网都是在NetBIOS协议的基础上工作的。,NetBIOS名称NetBIOS名称用来在网络上鉴别资源。程序用这些名称开始和结束会话。你能用多个程序配置一台单独的机器,每个程序都有独特的NetBIOS名称。每台支持应用的pc机也有用户定义或通过内部方法获得的NetBIOS站名。NetBIOS能包含至多16个阿尔法数字字母。在整个资源路由网络里,字母的组合必须独特。在一台使用NetBIOS的pc机在网络上能完全工作起来之前,PC必须先登记NetBIOS名称。当客户端活跃时,客户端广播它的名称。当它成功广播自己,并没有其他人和它重名,客户端就登记成功。,Samba,SambasmbSamba是在Linux、Unix和Windows系统上实现SMB协议的一个软件。Samba针对局域网.主要是实现Unix类与Windows系统之间的资源共享SMB协议是C/S模式,即:客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过执行SAMBA客户端程序,LINUX主机便可使用网络上的WINDOWS主机所共享的资源。而在LINUX主机上安装安装SAMBA服务器,则可以使WINDOWS主机访问SAMBA服务器共享的资源.由于Linux系统具有高稳定性和可靠性,并且价格低廉,所以在一些中小型网络或企业的内部网中,经常利用Linux系统的Samba来实现文件服务器的功能。,Samba服务的功能,Samba主要具有以下的功能:(1)使用Windows系统能够共享的文件和打印机。(2)共享安装在Samba服务器上的打印机。(3)共享Linux的文件系统。(4)支持Windows客户使用网上邻居浏览网络。(5)支持Windows域控制器和Windows成员服务器对使用Samba资源的用户进行认证。(6)支持WINS名字服务器解析及浏览。(7)支持SSL安全套接层协议。,Samba服务的工作原理,两种协议:(1)NETBIOS(Windows“网络邻居”的通讯协议);(2)SMB(ServerMessageBlock)协议。Samba服务的具体工作过程,如下图:Samba服务器包括两个服务程序smbdsmbd服务程序为客户机提供了服务器中共享资源(目录和文件等)的访问nmbdnmbd服务程序提供了NetBIOS主机名称的解析,为Windows网络中域或者工作组内的主机进行主机名称的解析,Samba服务工作原理,Samba服务工作原理,首先客户端发送一个SMBnegprot请求数据报,并列出它所支持的所有SMB协议版本。服务器收到请求信息后响应请求,并列出希望使用的协议版本。如果没有可使用的协议版本则返回0XFFFFH,结束通信。协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SesssetupX请求数据报实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后服务器通过发送一个SesssetupX应答数据报来允许或拒绝本次连接。当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconXSMB数据报并列出它想访问网络资源的名称,之后服务器会发送一个TconX应答数据报以表示此次连接是否被接受或拒绝。连接到相应资源后,SMB客户端就能够通过openSMB打开一个文件,通过readSMB读取文件,通过writeSMB写入文件,通过closeSMB关闭文件。,Samba服务工作原理,Samba的两个进程smbd-监听tcp的139端口,处理接口收到的smb数据包nmbd-监听udp的137138端口,使其他主机能浏览服务器上的资源Samba的三个端口137:Netbiosnameservice138:NetbiosDatagramservice(数据报服务)139:Netbiossessionservice(会话服务),15,samba服务器命令,smbclient:访问所有共享资源smbmount:装载共享资源smbumount:卸载共享资源smbpasswd:修改samba用户口令、增加samba用户,Samba服务器安装,在RedHat系统中与Samba有关的软件有以下几个:samba-2.2.7a-7.9.0.i386.rpm-服务端samba-client-2.2.7a-7.9.0.i386.rpm-客户端samba-common-2.2.7a-7.9.0.i386.rpm-协议包,Samba服务器安装,在安装RedHatEnterpriseLinux5系统过程中,如果选择了Samba,那么它就会在安装Linux时也安装Samba。如果没有选择的话,在系统安装完成后也可以再安装Samba。用以下命令检查系统是否已经安装了Samba或查看已经安装了何种版本。rootlocalhost#rpmqa|grepsamba运行结果如下:Samba服务程序已经安装,版本为samba-3.0.28-el5.8。,Samba服务器启动与停止,1图形化界面方式用图形化界面来启动、停止和重启Samba服务器,首先选择【系统】|【管理】|【服务器设置】|【服务】命令,系统弹出服务器配置窗口,如图所示。选择【smb】复选框,然后通过该窗口工具栏的【开始】、【停止】或【重启】按钮来操作Samba服务器。这样也可以设置为当系统启动时自动启动Samba服务器。,Samba服务器启动与停止,2命令行方式1启动Samba服务/etc/rc.d/init.d/smbstart2停止Samba服务/etc/rc.d/init.d/smbstop3重新启动Samba服务/etc/rc.d/init.d/smbrestart4重新加载Samba服务/etc/rc.d/init.d/smbreload,启动Samba服务器,启动Samba服务器启动服务命令#servicesmbstart重启服务命令#servicesmbrestart查询服务状态#servicesmbstatus停止服务命令#servicesmbstop,Samba服务器启动与停止,3自动加载samba服务(1)chkconfig使用chkconfig命令自动加载smb服务,如下所示:chkconfiglevel3smbon#自动加载chkconfiglevel3smboff#不自动加载(2)ntsysv使用ntsysv命令,利用文件图形界面对smb自动加载配置。,Samba服务器启动与停止,自动启动Samba服务如果需要让Samba服务随系统启动而自动加载,可以执行“ntsysv”命令启动服务配置程序,找到“smb”服务,在其前面加上“*”星号,然后选择“确定”即可。,Samba服务配置,Samba服务器的组建可以分为以下4步。1编辑主配置文件smb.conf,指定需要共享的目录,并为共享目录设置共享权限。2在smb.conf文件中指定日志文件名称和存放路径。3设置共享目录的本地系统权限。4重新加载配置文件或重新启动smb服务,使配置生效。为了更好地理解组建流程中每一步的作用,下面通过一个图例进行讲解,如图所示。,1客户端请求访问Samba服务器上的share共享目录。2服务器接收到请求后,会查询主配置文件smb.conf,看是否共享了share目录,如果共享了这个目录则查看客户端是否有权限访问。3服务器会将本次访问信息记录在日志文件中。日志文件的名称和路径都是需要我们设置的。4如果客户端满足访问权限设置,则允许客户端进行访问。,Samba服务的配置文件,smb.conf文件结构详解,位于/etc/samba目录中,该文件结构如下:,Samba服务的配置文件,#-在这个部分定义全局参数和默认设置-global#-以下部分定义用户的Home目录共享-homes#-定义打印机共享-printers#-定义用户自定义共享(可多个)-结束,Samba服务的配置文件,Samba服务主配置文件smb.conf各部分如下所示:1Samba配置简介Smb.conf中以“#”开头的为注释;内容以“;”开头。可以通过去掉前面的“;”并加以修改,来设置想使用的功能。2GlobalSettings(设置全局变量区域)该部分以global字段开始。,smb.conf配置文件,smb.conf文件内容#cat/etc/samba/smb.confglobalworkgroup=MYGROUPserverstring=SambaServerlogfile=/var/log/samba/%m.logmaxlogsize=50printcapname=/etc/printcapdnsproxy=Noidmapuid=16777216-33554431idmapgid=16777216-33554431cupsoptions=rawhomescomment=HomeDirectoriesreadonly=Nobrowseable=No.,smb.conf中的全局配置,smb.conf中的globalglobalworkgroup=MYGROUPserverstring=SambaServerlogfile=/var/log/samba/%m.logmaxlogsize=50security=user,workgroup设置Samba服务器所在的工作组的名称,默认设置为“MYGROUP”,serverstring设置Samba服务器的说明文字,用于描述Samba主机,logfile设置Samba服务器的日志文件,默认设置为“/var/log/samba/%m.log”,表示所有设置文件都保存在“/var/log/samba/”目录中,使用Samba服务器的每个客户机的日志分别进行保存在与客户主机同名的“%m.log”文件中,“%m”变量表示客户端主机的名称,maxlogsize设置日志文件的最大容量,默认为“50”,表示50KB;该设置项的数值单位是“KB”,security设置Samba服务器的缺省安全级别为“user”,表示需要经过Samba服务器的用户认证后才能够访问服务器中的资源,Samba服务器的安全级别,smb.conf中security的配置,用户目录共享设置,smb.conf中的homehomes共享目录不特指某个目录,而是表示Samba用户的宿主目录homescomment=HomeDirectoriesbrowseable=nowritable=yes,comment用于设置共享的说明信息,browseable设置为no表示所有Samba用户的宿主目录不能被看到,只有登录用户才能看到自己的宿主目录共享;这样设置可以加强Samba服务器的安全性,writable设置为yes表示用户对该共享目录写入,设置用户对自己的宿主目录具有写权限是比较合理的,3ShareDefinitions共享服务的定义(1)设置共享名【例】samba服务器有一个目录为/share,需要发布该目录成为共享目录,定义共享名为public,如下所示。publiccomment=sharepath=/sharepublic=yes,(2)共享资源描述Comment=注释信息(3)共享路径Path=完整路径(4)设置匿名访问public=yes#允许匿名访问或public=no#不允许匿名访问(5)设置用户访问validusers=用户名或validuser=组名(6)设置目录只读readonly=yes#只读或readonly=no#读写,(7)设置目录可写设置目录可写writable=yes或writable=nowritelist=用户名或writelist=组名,共享目录配置实例,公共共享目录配置要求在smb.conf中添加名为public共享目录公共共享目录的路径是“/home/public”任何Samba的用户都可以访问公共目录并对目录具有读写权限任何用户在公共目录中都以Linux中“nobody”系统用户的身份出现,即在公共目录中任何用户建立的文件都属于“nobody”系统用户,共享目录配置实例,smb.conf中添加的配置内容publicpath=/home/publicpublic=yesonlyguest=yeswritable=yes,path用于设置共享目录对应的Linux系统目录,public设置为yes表示该共享目录对于所有Samba用户可见,“onlyguest”设置为yes表示所有用户在使用该共享目录时的用户身份都是“guest”,即Linux系统用户“nobody”,writable设置为yes表示该共享目录对于用户可写,smb.conf文件内容详解:全局参数workgroup=help/设置工作名名称,本例为helpserverstring=SambaServer/服务器说明hostsallow=192.168.1.0/允许访问本机的IP范围,默认为全部guestaccount=pcguest/允许匿名访问账号logfile=/var/log/samba/smbd.log/日志文件的存放位置security=share/设置安全级别,有share、user、server和domain4个级别encryptpasswords=yes/用户密码是否需要加密smbpasswdfile=/etc/samba/smbpasswd/密码验证文件地址和文件名interfaces=192.168.12.2/24192.168.52.6/24/如果服务器有多个网卡,指定哪个网卡监听smb请求,smb.conf文件内容详解:home共享和自定义共享参数myshare/共享目录名comment=testoflinux/共享目录描述path=/var/test/共享目录路径guestok=yes/允许匿名访问writeable=no/不允许写操作,smb.conf文件内容详解:共享参数详解writable:被共享目录是否允许网络用户写入,如writable=yesbrowseable:被共享目录是否允许网络用户浏览readonly:被共享目录是否为只读,如readonly=yespublic:被共享目录或设备是否允许网络中的匿名用户访问guestaccout:指定访问共享目录和设备的用户账户,只有该账户可访问和使用共享资源,如guestaccout=xiaohongguestOK:被共享目录或设备是否允许被网络中的匿名用户,与public功能相同guestonly:是否只允许匿名用户访问,如guestonly=noreadlist:设置只读用户列表,如readlist=xiaohong,xiaoli,xiaowangwritelist:设置读写用户列表,如writelist=xiaohong,xiaoli,xiaowangvalidusers:指定允许使用服务的用户列表,如validusers=xiaohong,xiaoliinvalidusers:指定不允许使用服务的用户列表:如invalidusers=xiaohong,配置文件语法检测服务启动,测试smb.conf文件的内容testparm命令是配置文件测试工具,可以对smb.conf配置文件的语法进行检测,并显示当前配置的清单#testparmLoadsmbconfigfilesfrom/etc/samba/smb.confProcessingsectionhomesProcessingsectionprintersProcessingsectionpublicLoadedservicesfileOK.Serverrole:ROLE_STANDALONEPressentertoseeadumpofyourservicedefinitionsglobal.,Samba服务日志文件使用lsa命令查看日志目录的所有文件,如下所示:rootzq#lsa/var/log/samba,Samba服务的密码文件,与Samba服务相关的密码文件共有两个。1/etc/samba/smbpasswd2/etc/samba/smbusers,Samba用户帐号,Samba帐号管理Samba用户帐号使用独立的smbpasswd文件保存用户的帐号和加密口令信息Samba服务器中的用户帐号应该具有与其同名的Linux系统用户帐号,因为Samba用户是使用同名的系统帐号身份访问Linux系统资源(文件和目录)的Samba用户的口令和同名系统用户的口令是独立的,可以相同或不同,需要分别进行维护和更改当Samba用户不需要登录Linux系统时,同名的系统用户帐号可不设置口令,Samba用户帐号,Samba服务器的用户帐号Samba服务器的用户帐号文件保存在“/etc/samba/”目录中,文件名称是“smbpasswd”初始状态“smbpasswd”文件不存在,在第一次使用smbpasswd命令创建Samba用户时将自动建立“smbpasswd”文件中同时保存有用户帐号和用户密码,因此该文件只对root用户有读写权限,Samba用户帐号,smbpasswd命令smbpasswd命令用于维护Samba服务器的用户帐号添加Samba用户帐号#smbpasswd-asambauser禁用Samba用户帐号#smbpasswd-dsambauser启用Samba用户帐号#smbpasswd-esambauser删除Samba用户帐号#smbpasswd-xsambauser,Samba服务器的密码文件Samba中添加账号命令为smbpasswd,格式如下所示:smbpasswda用户名【例】samba服务器添加samba账号test1建立Linux系统账号test.建立samba账户必须先添加对应的系统账号,使用useradd命令建立账号test,然后执行passwd命令为test设置密码,如下所示:,2添加test用户的samba的配置文件经过如上设置,再次访问samba共享文件的时候就可以使用test用户访问。所有的samba用户和密码都保存在smbpasswd文件里使用cat命令查看smbpasswd文件的内容,如下所示:rootzq#cat/etc/samba/smbpasswd,注意:解决/etc/samba目录下没有smbpasswd文件原因:samba启用了tdbsam验证。解决:smb.conf文件中注释掉passdbbackend=tdbsam一行,加上smbpasswdfile=/etc/samba/smbpasswd,然后保存退出。,安装软件,管理员作为系统管理的中心,避免不了需要安装提供各种服务所必须的软件,因此学习新软件包的安装机制和学习如何编译以源代码形式传播的软件包就是十分重要的了。一般的情况下,大多数应用程序都有非常相似的安装操作模式。密切注意信息的主要来源,再加上一些常识,就可以使大多数的安装过程顺利进行。最常用的两种软件安装方法:RedHatPackageManager(RPM)自行编译源代码,RedHatPackageManager(RPM),RedHatPackageManager(RPM)软件包管理工具软件的基本功能是安装和清除文件,它使用起来很简便,许多Linux的发行版本都已经开始使用这个工具软件发行他们的软件。RPM文件:是能够让某个特定程序运行的全部文件的一个集合,它还包括对程序的说明、版本信息以及实现安装过程本身必须的脚本程序等。RPM工具:对安装在某个指定主机上的全部RPM软件包进行全面的管理的程序。管理包括已经安装了哪些软件包、它们的版本号码以及文件的存放位置等方面的记录。这些资料全部保存在主机上的一个简单的数据库文件中。一般来说,RPM格式的软件要比需要编译的软件更容易安装和维护。因为使用RPM的时候用户也就接受了这个RPM中提供的缺省参数。大多数情况下,这些缺省参数使用起来都不会有什么问题。但是如果用户需要更具体地关心某项服务的实现过程,那么自行编译源代码将会使用户对软件包中都有哪些组件以及它们是如何协调工作的有更进一步的了解。,RPM(续),安装新软件包使用-i参数,例如:rootlenovo/root#rpmibc-1.05a-4.i386.rpm升级已经存在的软件包使用-U参数,例如:rootlenovo/root#rpmbc-1.05a-4.i386.rpm,RPM(续),RPM的一些附加命令行参数,RPM(续),查询软件包有时候,了解系统中都已经安装了哪些软件包以及它们的用途是很有用的,RPM的查询参数就可以做到这一点。下面是一些例子:rootlenovo/root#rpmqa/列出已经安装的全部软件包rootlenovo/root#rpmqffilename/找出某个特定文件属于哪个软件包rootlenovo/root#rpmqipackagename/了解某个已安装软件包的功/能rootlenovo/root#rpmqlppackagename/了解某个软件包中有哪些/文件,RPM(续),卸载(清除)软件包要卸载软件包使用-e参数,格式为:rootlenovo/root#rpmepackagename,自行编译源代码,源代码开放软件的重要优点之一是用户手里已经有了源代码。如果程序员不再开发了,用户还可以继续弄到。如果发现问题了,用户就可以修补它。换句话说,是用户控制着形势,用不着再依靠某个用户无法控制的职业程序员了。但是有了源代码就意味着用户还必须能够对它进行编译,否则用户只不过是攥着一大把没什么用处的文本文件而已。,自行编译源代码(续),获得并解压缩新的软件包以源代码形式出现的软件通常都是一个“tarball”文件,也就是说先是被归档为单独的一个大文件,再进行压缩。用来完成这个任务的是tar命令和gzip命令。tar命令负责把许多文件归档为单独的一个大文件,而gzip命令负责进行压缩。典型情况下,人们通常都会选用一个独立完整的子目录对tarball文件进行制作和保存工作。这样在需要从其中取出什么东西的时候,系统管理员就可以把各个软件包的tarball文件保存到一个安全的位置。这还可以让系统管理员掌握除了基本的系统以外,机器里还安装有哪些软件包。/usr/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论