




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
众所周知,Unix和Windows系统采用的是完全不同的文件系统,从比特级上就有极大差异,这种底层设计思路上的不同对两种系统平台的共存和共享是一个很大的挑战。本期我们选择了下面这篇文章,希望给广大网管朋友提供一个解决资源共享问题的方法,同时也希望大家把自己想到的好办法提供给我们,通过我们的杂志与全国同行共享您的宝贵经验!需要说明的是,由于在与Windows共享的问题上Linux与Unix有诸多类似,本文中所指Unix均含Linux。这些年来,Unix与Windows操作系统各自拥有其支持者及相应的市场份额,在很多企业和学校里,都同时存在Unix与Windows系统的电脑终端。Windows主机彼此间可以利用网上邻居达到资源共享的目的,Unix系统之间也能通过NFS(NetworkFileSystem,网络文件系统)实现目录共享,而Unix和Windows之间由于采用了完全不同的文件结构,无法直接实现资源共享,本文就为大家介绍一种利用Samba服务器来实现Unix与Windows间资源共享的办法。在介绍如何安装及使用Samba服务器之前,我们先来谈谈它所应用的理论基础。在Unix系统中,“Samba”是通过服务器消息块协议(SMB,ServerMessageBlock)在网络上的计算机之间远程共享Unix文件和打印服务的软件包。虽说大多数人都不清楚,但事实上,任何使用Samba和微软Windows组网协议的人都在使用SMB协议。SMB协议是Windows使用共享文件和打印服务的标准化协议,它可以在两台计算机之间共享文件、打印机、接口,也支持共享通信元素,如邮件和命名管道。SMB协议以请求回应的方式运行,当客户机发送请求时,请求包含在SMB协议中传到服务器。服务器收到这些信息,经过解释,对客户机发回应答。当一台计算机通过SMB协议在网络上共享资源时,它就变成了这种模式下的服务器。当一台计算机隶属于共享资源时,它就变成了客户机。一旦客户机连接到服务器上并且被授权,该客户机就可以向服务器发送命令,来打开文件、读写文件、关闭文件、删除文件、查找目录和执行其他文件和目录命令。SMB协议是一种应用层协议,Samba就是在TCP/IP基础上实施SMB协议的应用软件(关于SMB协议更详细的资料,可以访问.au/cifs/docs/what-is-smb.html,这里有针对SMB协议的较为详细的阐述)。Samba是一个开放源代码的软件,任何拥有GNU通用公共许可证(GPL)的人都可以使用,任何对该产品有兴趣的人都可以免费得到它的源代码或可执行文件。您可以通过获得有关Samba的详细信息,同时在此主页,也可以取得Samba软件的最新版本(当笔者撰写本文时,最新版本为2.2.7)。Solaris和Linux是我们在网络应用中使用较多的网络操作系统,下面我们分别以这两个操作系统为例来介绍如何使用Samba软件实现与Windows系统的资源共享,其中Solaris使用的是Solaris8forSPARC,Linux使用的是RedHatLinux7.3forx86。Samba软件的使用主要包括三个部分:在Windows系统上访问Unix的共享资源、在本地或远程通过浏览器来管理Samba服务器、在Unix系统上访问Windows的共享资源,下面我们就依次介绍。一、安装Samba在RedHatLinux7.3中已经自带了Samba软件,如果您在安装系统时没有选择安装,那么可以从Samba的官方站点下载其rpm版本,执行下面的命令安装:#rpm-ivhsamba-2.2.7-1.i386.rpm在Sun公司最新发布的Solaris9中已经自带Samba2.2.0,但在Solaris8及以前的版本中需要将Samba作为第三方软件包安装,可以从Samba的官方站点或下载,解压安装:#gzip-dsamba-2.2.2-sol8-sparc-local.gz#pkgadd-dsamba-2.2.2-sol8-sparc-local二、配置Samba在Windows系统上访问Unix的共享资源(1)配置Samba服务器下面介绍如何手工配置Samba的配置文件smb.conf以使samba成为一个符合需求的文件服务器。在Solaris8中当安装完Samba之后,安装程序并没有为Samba服务建立配置文件smb.conf,而需要用户创建该文件。方法如下:#cd/usr/local/samba/lib#vismb.confRedHatLinux7.3如果默认安装samba,则会自动产生smb.conf配置文件,且每个设置项有详细的注释,只需在其配置文件上修改即可:#vi/etc/samba/smb.confsmb.conf配置文件类似于Windows系统中的.ini文件,由一系列单元组成,每个单元包含一系列参数,这些参数控制了Samba的行为方式。除了三个特殊单元global、homes和printers外,还有一个单元描述了一个单独的共享资源,客户端连接到这些共享资源,然后访问共享资源中的文件。用户可在文件smb.conf中插入注释,帮助自己和他人更好地了解文件所要完成的任务。有两种插入注释的方法:在注释行前插入分号“;”或英镑符“#”均可。一般来说,注释符仅对当前行有效。用户也可以使用标准Unix连接字符将注释行扩展到一行以上,也就是说,用户可在行的结尾处放置一个反斜杠“”,这样就能强制Samba将下一行当成是本行的继续。下面我们创建一个简单的smb.conf配置文件,并对其意义加以解释。如下:global#此区域设定Samba服务器的整体环境。netbiosname=no1#设定Samba服务器的NetBIOS名称。若不设定此参数,且Samba服务器主机的域名为,则默认值将设为no1。workgroup=cuug#设定Samba服务器所要加入的工作组的名称。serverstring=%hSambaServer%v#指定浏览列表里的主机描述。可以是任何字符串,也可以不填,在此字符串中可指定2个变量:%h:显示执行Samba服务器的主机名称%v:显示Samba服务器的版本编号若将参数设成以上范例,将会在客户端说明中看到结果:sunSambaServer2.2.2。hostsallow=166.111.1.*#允许连接的主机地址,默认允许所有主机可以访问,因此不设定也可以。以下范例允许来自166.111.1.*的所有主机连接,但主机除外:hostsallow=166.111.1.*EXCEPT以下范例将允许来自150.203.5.*及no2主机连接:hostsallow=150.203.5.no2printcapname=/etc/printcap#打印机设定文件存放的位置。loadprinters=yes#是否要载入打印机设定文件printacp,默认值为“yes”。logfile=/var/log/samba/log.%m#设定日志文件的存储位置,“log.%m”表示依登入账号名称来生成不同名称的记录文件。maxlogsize=50#设定日志文件的最大尺寸,上述范例设置此文件最大不得超过50Kb,若设成“0”则表示没有限制。security=user#设定安全级别,Samba一共有4种不同的安全等级:1Share:用户不需要账号及密码即可登入Samba服务器。2User:Samba服务器默认的安全等级,检查账号及密码的工作由Samba服务器负责。3Server:检查账号及密码的工作指定另一台Windows服务器或Samba服务器负责。4Domain:指定Windows服务器来验证用户所输入的账号及密码。除了share等级之外,其他3种等级,用户均必须输入正确的账号及密码才能登入并使用Samba服务器的共享资源,本例我们使用user等级,这也是我们使用最多的官方推荐的等级。encryptpasswords=yes#设定当Samba用户端将账号与密码传送到服务端时,是否采取加密的方式。由于Windows95OSR2及NTSP3以后的版本,默认均采用加密的方式传送密码,所以采用这些版本的主机,需要在Samba服务端,将此选项设成“yes”,缺省是注释的。smbpasswdfile=/usr/local/samba/lib/smbpasswd#指定对用户口令校验的密码文件,从安全起见,smbpasswd文件的存取权限应设为600。如果使用RedHatLinux7.3则默认此目录为/etc/samba/smbpasswd。homes#当用户请求一个共享时,服务器将在存在的共享资源段中去寻找,如果找到匹配的共享资源段,就使用这个共享资源段。如果找不到,就将请求的共享名看成是用户的用户名,并在本地的password文件里找这个用户,如果用户名存在且用户提供的密码是正确的,则以这个home段克隆出一个共享提供给用户。这个新的共享的名称是用户的用户名,而不是homes,如果home段里没有指定共享路径,就把该用户的宿主目录(homedirectory)作为共享路径。comment=HomeDirectories#针对此共享资源所做的说明文字,默认值为空字符串。browseable=no#设定用户是否可看到此资源。默认值为“yes”。若将此参数设为“no”,用户虽然看不到此资源,但拥有权限的用户仍可直接输入该资源的网址,来存取资源。例如将某服务器所共享的/tmp目录,设成“browseable=no”,则用户就看不到此共享的目录,但直接输入目录的路径“no1tmp”,仍可进入此共享目录。writable=yes#设置共享资源是否可写入,此参数与“readonly=”参数有相反的作用,默认值为“no”。此参数只适用于共享的资源是目录时;若共享的资源是打印机,则不需设定此参数。printers#此区段设定共享的打印机。comment=AllPrinterspath=/var/spool/samba#打印机队列(spool),用户必须自行建立此目录。browseable=noguestok=no#设定是否不需账号及密码即可使用。writable=noprintable=yes#设定是否允许用户更改打印机队列中文件。webfile#对共享资源段的设定,webfile为下面所共享目录的共享名。一个设置段只能设置一个共享目录,如果要共享多个目录可以写多个设置段。path=/usr/local/httpd/htdocs#指定共享目录的位置validusers=webmaster#设定允许登入的用户,多个用户可以使用空格分隔,如“validusers=webmasterftpmaster”。若设成以下范例,则允许用户liming和属于baoshi工作组的用户登入:validusers=liming,baoshiwritable=yes#上述语句定义了共享目录/usr/local/httpd/htdocs,用户webmaster对这个目录具有读写权限。(2)建立账户如果上述可以访问共享资源的用户在系统中没有,则以root身份添加此用户,如有可以跳过下面步骤的前两步,执行命令如下:#useraddwebmaster#生成口令是空的一个账户#passwdwebmaster#为新用户设置口令#cd/usr/local/samba/bin#./smbpasswd-awebmaster#赋予webmaster用户Samba服务器的验证密码笔者在实际使用中发现,用户在系统中的密码和用户使用Samba服务Samba的验证密码如果设为一致,有时使用上会出现问题,所以建议读者最好两个密码不要设置为同一个。(3)启动Samba服务Samba包含两个主要的程序smbd和nmbd,包括验证、通告、名称解析和共享等。其中共享包括文件共享和打印机共享。验证和共享工作由smbd,SMB守护进程(SMBDaemon)处理,而nmbd处理通告(浏览共享)和名称解析。启动Samba服务时需要分别启动这两个进程。Solaris8:#cd/usr/local/samba/bin#./smbdstart#./nmbdstartRedHatLinux7.3:#cd/etc/rc.d/init.d#./smbstartsmb程序会分别启动smbd和nmbd两个进程。(4)检测a用smbclient查看共享资源Solaris8:#/usr/local/samba/bin/smbclientsunRedHatLinux7.3:#/usr/bin/smbclientsun屏幕上显示如下:Addedinterfaceip=2bcast=55nmask=Password(直接按Enter键)Domain=SAMBASERVEROs=UnixServer=Samba2.2.2SharenameTypeComment-webfileDiskIPC$IPCIPCService(SambaServer)ServerComment-no1sunSambaServer2.2.2WorkgroupMaster-cuugbtestparm命令,解析和描述的smb.conf文件的内容,特别有用,因为它提供了一个简易的方法发现配置上的错误。Solaris8:#/usr/local/samba/bin/testparmRedHatLinux7.3:#/usr/bin/testparm屏幕上显示如下:Loadsmbconfigfilesfrom/usr/local/samba/lib/smb.confProcessingsection“global”Processingsection“homes”Processingsection“printers”Processingsection“webfile”Pressentertoseeadumpofyourservicedefinitions键入enter,系统会给出Samba配置文件的一个详细列表,如果smb.conf配置文件设置有错误,则在执行testparm会报告这个错误。(5)客户端访问如果您使用的是WindowsNT/2000/XP作为Samba服务器的客户端,只需在网上邻居中找到Samba服务器或干脆使用微软的UNC(UniversalNamingConvention,通用命名标准)来访问。三、通过浏览器来管理Samba服务器在Unix系统上访问Windows的共享资源如果您的Unix系统中已经安装了Samba,那么访问Windows的共享资源是一件很容易的事。要注意的是:我们在做通过Windows访问Unix共享资源时,密码验证的工作是在Samba服务器,也就是Unix系统这一端进行的;而如果通过Unix访问Windows的共享资源,验证工作是由Windows系统来完成的,所以在Unix系统上访问Windows的共享目录您必须具有Windows系统上合法的账户,也就是说Windows端共享的目录要具有访问的权限才可以。Solaris8:在Windows端设置共享目录的访问用户及权限,然后使用如下命令:#/usr/local/samba/bin/smbclient/Windows主机名/共享目录名-U用户名其中“/Windows主机名/共享目录名”为您想要访问的Windows主机的共享资源,“-U用户名”指定访问该共享资源的合法用户名,在Windows9x系统中这项可以不写,因为它不需要验证,如果是WindowsNT/2000/XP系统则会要求您输入密码,这时输入该用户的密码即可登入资源共享提示符“smb:”下,在Solaris系统中实现共享有些麻烦,可以键入help指令查看可以使用的命令,基本上类似于FTP使用的命令,可以使用get、mget下载;put、mput上传等等。RedHatLinux7.3:执行如下指令:#mount-tsmbfs-ousername=用户名,password=密码/Windows主机名/共享目录名/本地挂接点“-tsmbfs”指定使用Samba服务共享时的文件类型;“-ousername=用户名,password=密码”指定访问共享资源的合法用户名、密码;“/本地挂接点”远程系统挂接到本地的存放目录,该目录应为空或新创建的目录。不同于Solaris,在Linux中可以直接通过挂接点访问远程Windows系统的共享资源,类似于NFS服务。另外,我们要注意的是,在Unix系统中目录或文件名是不允许有空格的,而这在Windows系统中是可以的,当使用Samba服务时,不要在Windows系统中使用空格命名的目录或文件,否则在Unix系统中是无法访问的。到此,我们已经介绍了Samba的基本应用,在我们的日常网管工作中Samb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮管理知识培训
- 六年级品德与社会上册 不可丢掉的传家宝教学设计2 北师大版
- 2024中铁城建集团房地产公司招聘代建项目经理1人笔试参考题库附带答案详解
- 2024中石化产融数字智能科技有限公司公开招聘4人(北京)笔试参考题库附带答案详解
- 病房消防安全培训
- 初中语文人教部编版九年级上册精神的三间小屋教案设计
- 人教版八年级音乐上册教学设计:2. 共青团团员之歌
- 人教部编版五年级上册第一单元 面对成长中的新问题2 学会沟通交流第二课时教学设计
- 导医工作内容培训
- 复古婚礼策划培训
- 医疗垃圾收集流程及鹅颈式打结方法考评标准
- 油气管道高后果区管段识别分级表
- 班前安全活动记录(真石漆班组)
- 县级城投公司人事管理制度
- 脚手架稳定计算
- 无损检测超声波检测课件
- 生产中断影响及生产组织管理考核办法
- 【图文】GB8624-2012建筑材料及制品燃烧性能分级(精)
- (完整版)【昆明】重庆机场鸟害防治材料课件
- 企业部门单位工伤事故报告书
- ZL40轮式装载机工作装置设计(全套图纸)
评论
0/150
提交评论