您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 一周内学会Linux网络服 第四讲系统间的集成
操作系统间集成操作系统间集成Linux和Windows是目前比较流行的操作系统,在许多企业的内部网中同时存在这两种操作系统。为提高企业的资源利用率,需要能在这些不同系统之间共享资源,比如可以从Windows的客户机访问Linux服务器的共享文件夹或打印设备,或者从Linux客户机上使用Windows服务器的磁盘空间和打印机等。为此,就需要进行Linux和Windows网络集成。操作系统间集成实现Linux和Windows网络集成的方法有很多,其中主要的3种方法如下:简单的通信方式:利用telnet、FTP、HTTP服务实现网络间通信;SMB协议:通过在Linux主机上安装支持SMB协议的服务器和客户端软件,可以方便地与Windows系统实现网络集成。现阶段,在国内以WindowsNT/2000为主的中小型局域网居多,绝大多数的用户都熟悉Windows操作平台。同时,越来越多的单位希望应用具有良好性能价格比的Linux作为网关和网络服务器搭建企业网(Intranet)以及接入Internet。在上述几种方案中,基于SMB协议的集成方案由于具有简单、透明和低成本等优点,成为企业的首选。这种方式的突出优点是将Linux主机直接集成到了Windows网络中。Samba协议基础在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(ServerMessageBlock)协议。这个协议被Microsoft用于他们LanManager和WindowsNT服务器系统中,实现不同计算机之间共享打印机和文件。随着Internet的流行,Microsoft希望将这个协议扩展到Internet上去,成为Internet上计算机之间相互共享数据的一种标准。因此将原有的几乎没有多少技术文档的SMB协议进行整理,重新命名为CIFS(CommonInternetFileSystem),并打算将它与NetBIOS相脱离,试图使它成为Internet上的一个标准协议。Samba协议基础因此,为了让Windows和Unix计算机相集成,最好的办法即是在Unix计算机中安装支持SMB/CIFS协议的软件,这样Windows客户就不需要更改设置,就能如同使用Windows系统一样,使用Unix计算机上的资源了。Samba是用来实现SMB的一种软件,它的工作原理是,让NETBIOS(Windows95网络邻居的通讯协议)和SMB(ServerMessageBlock)这两个协议运行于TCP/IP通信协议之上,并且使用Windows的NETBEUI协议让Unix计算机可以在网络邻居上被Windows计算机看到。它的功能有:共享Linux磁盘给Windowns共享Windowns磁盘给Linux机器共享Linux打印机给Windowns共享Windowns打印机给Linux机器。Samba的守护进程及配置文件Samba的核心是两个守护进程smbd和nmbd程序,在服务器启动到停止期间持续运行。smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享,共享输出给谁及如何进行输出。smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与Linux进行协商,nmbd进程使其它主机(或工作站)能浏览Linux服务器。Samba的主配置文件位置在/etc/samba目录中,文件名为smb.conf。Samba语法一个完整的smb.conf一般由全局设置(Globalsettings)和共享设置(shareDefinitions)两部分组成。每部分由消息头和参数两部分构成。消息用“[]”标志,参数结构形式为:parameter=value。其中,parameter可以是一个或用空格分隔的多个单词,value可以是布尔值、数字或字符串。参数告诉了smba提供何种服务。在smb.conf文件中,注释行以“#”开头,同时每项中英文字母不区分大小写,在一行最后字符尾加“”,可将一行分成多行。用“;”开头的行,是被忽略的配置,将“;”去掉时,该配置将起作用。Samba的启动与停止RedHatLinux的samba服务可以在启动时就投入运行。也可利用系统脚本来手工启动和停止samba。具体方法如下:#/etc/rc.d/init.d/smbstart(启动samba)#/etc/rc.d/init.d/smbstop(停止samba)#/etc/rc.d/init.d/smbrestart(重新启动samba)#/etc/rc.d/init.d/smbreload(重新加载samba配置文件)配置Samba服务全局设置workgroup=MYGROUP定义该Samba服务器所在的工作组或者域(如果下面的security=domain的话)。serverstring=MYSambaServer设定机器的描述,当我们通过网络邻居访问的时候可以在备注里面看见这个内容。hostsallow=网络或者主机这里可以设置允许访问的网络和主机IP,比如允许整个192.168.1.0这个网段(192.168.1.0/24)和192.168.2.1这台主机(192.168.2.1/32)访问,就用hostallow=192.168.1.192.168.2.1127.0.0.1(网络注意后面加”.”号,各个项目间用空格隔开,记得把本机也加进去)配置Samba服务printcapname=printcapFile到printcapFile(一般是/etc/printcap)这个文件中取得打印机的描述信息loadprinters=yes|no设定是否自动共享打印机而不用设置下面的[printer]一节的相关东西printing=PrintSystemType定义打印系统的类型,缺省是lprng,可选项有:bsd,sysv,plp,lprng,aix,hpux,qnx。guestaccount=pcguest定义guest帐号,而且需要把这个帐号加入/etc/passwd,不然它就用缺省的nobodylogfile=LogFileName定义记录文件的位置LogFileName(一般是用/var/log/samba/%m.log)maxlogsize=size定义记录文件的大小size(单位是KB,如果是0的话就不限大小)配置Samba服务security=security_level定义Samba的安全级别,按从低到高分为四级:share,user,server,domain。它们对应的验证方式如下:share:没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。User:samba的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。Server:和user安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台NT服务器。如果递交失败,就退到user安全级。Domain:这个安全级别要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。后面三种安全级都要求用户在本Linux机器上也要系统帐户。否则是不能访问的。配置Samba服务passwordserver=NT-Server-Name当前面的security设定为server或者domain的时候才有必要设定它。passwordlevel=n这是设定针对一些SMB客户像OS/2之类而设的,这样的系统在发送用户密码的时候,会把密码转换成大写再发送,这样就和samba的密码不一致。这个参数可以设定密码里允许的大写字母个数,这样samba就根据这个数目对接收到的密码进行大小写重组,以重组过的密码尝试验证密码的正确性。n越大,组合的次数就越多,验证时间就越长,安全性也会因此变得越低。例如n=2,用户的密码是abcd,但发送出去其实是ABCD,samba就会把这个ABCD进行大小写重组,组合后的结果可以是:Abcd,aBcd,abCd,abcD,abcd,ABcd,AbCd,AbcD,aBCd,aBcD,abCD。所以如果没有必要,就把n定为是零。这样的话samba只尝试两次,一个是接收到的密码,另一个尝试的是这个密码都是小写的情况。配置Samba服务usernamelevel=n这个是对于用户名的情况,说明和上面一项类似。encryptpasswords=yes|no设置是否对密码进行加密,samba本身有一个密码文件/etc/samba/smbpasswd,如果不对密码进行加密则在验证会话期间客户机和服务器之间传递的是明文密码,samba直接把这个密码和Linux里的/etc/samba/smbpasswd密码文件进行验证。但是在Windows95OS/R2以后的版本和WindowsNTSP3以后的版本缺省都不传送明文密码,要让这些系统能传送明文密码必须在其注册表里更改,比较麻烦,好的方法就是把这里的这个开关设置为yes。配置Samba服务smbpasswdfile=smbPasswordFile设置存放samba用户密码的文件smbPasswordFile(一般是/etc/samba/smbpasswd)。共享设置每个SMB服务器能对外提供文件或打印服务,每个共享资源需要被给予一个共享名,这个名字将显示在这个服务器的资源列表中。如果一个资源的名字的最后一个字母为$,则这个共享名就为隐藏共享,不能直接表现在浏览列表中,而只能通过直接访问这个名字来进行访问。在SMB协议中,为了获得服务器提供的资源列表,必须使用一个隐藏的资源名字IPC$来访问服务器,否则客户无法获得系统资源的列表。和Windows系统间的文件共享[homes]部分是一个专用的配置部分,它的设置允许用户从Windows系统访问自己的主目录。换句话说,用户从Windows系统中,可以使用合法的用户名/口令来访问自己在RedHatLinux系统中的主目录。和Windows系统间的文件共享各行说明如下:[homes]共享名称的定义。comment=HomeDirectories这一行是名称的说明。browseable=no这行用来控制在浏览列表(如:网上邻居)或者在Windows命令行下执行netview命令时能否看到自己的主目录。writable=yes参数writable用来控制用户能否对他自己的主目录进行写操作。如果设为no,那么用户只能对自己的主目录进行只读访问。validusers=%S有效的用户设置。%S表示所有用户(any)。createmode=0664指文件建立时的默认权限。directorymode=0775指文件建立时的默认权限。和Windows系统间的文件共享如果要建立对所有用户的共享设置,则需要建立[public]部分的配置。这段配置的定义,对于staff组和user组来说的公用可写的共享目录。和Windows系统间的打印机共享以下这段配置文件定义了共享打印机的设置。和Windows系统间的打印机共享各项解释如下:guestok=no不允许任意用户使用打印机。如果这一项设置为“yes”,那么任何用户都可以不用输入密码就可以进行打印。printable=yesprintable很重要。如果等于“no”,将无法进行打印。添加Samba用户配置完smb.conf后,还需要添加Samba服务器的用户。因为Samba默认的安全级是用户级(security=user),所以Samba用户必须是Linux系统用户。如果想要从Windows系统访问Linux的共享资源,必须确定在Linux系统中帐户的名字和口令和在Windo
本文标题:一周内学会Linux网络服 第四讲系统间的集成
链接地址:https://www.777doc.com/doc-3451140 .html