我要投稿
  • 您当前的位置:57365.com -> 技术教程 -> 服务器网络 -> 服务器教程 -> Web服务器教程 -> 教程内容
  • [ 收藏本页教程 ]
  • Linux成为“文件服务器”Web服务器教程

    教程作者:佚名    教程来源:不详   教程栏目:Web服务器教程    收藏本页
                  摘要:Linux成为“文件服务器”

    作 者: wushubin



    一、Samba简介
      给Windows客户提供文件服务是通过samba实现的,凡架设过MS Windows网络的人都知道MS Windows网络的核心是SMB/CIFS,而samba也是一套基于UNIX类系统、实现SMB/CIFS协议的软件,作为UNIX的克隆,Linux也可以运行这套软件。和NT相比较,samba的文件服务功能一点也不亚于NT,效率很高,借助Linux本身,可以实现用户磁盘空间限制功能,NT到4.0版本还是无法实现这点,samba由samba小组(http;//samba.org)开发,更新速度很快,目前最高的版本是2.0.7版,是2000年4月25日发布的,每个更新版本在功能上都所增强,也修复了已知的BUG。本章所涉及到的技术内容以2.0.3版蓝本。目前各种Linux发布大都包含这套软件,如果你的Linux发布是Read Hat,则是以RPM形式提供,可以在安装Linux的时候选择这个软件,也可以单独安装,以root身份。


      rpm -i samba-2.0.3-8.i386.rpm,就可以了。


      如果你的Linux发布没有包含这个软件,可以从ftp;//samba.org/pub/samba去下载。另外,您的Linux的核心要支持smbfs,一般各种发布已经把smbfs的支持包含进去,如果没有包含的话,就要重新编译核心,获得smbfs支持,具体如何编译核心请参阅相关文章。


      由于本章的内容是基于文件服务器, 重点介绍samba在文件服务器上的应用。目前samba还不能完全代替Windows NT,尤其是把samba设置成PDC,最好不要这样做,NT PDC非常复杂,samba还只能实现其中一部分功能。希望未来的版本可以做到。


      这套软件由一系列的组件构成,主要的组件有:


      smbd SMB服务器,给SMB客户提供文件和打印服务;


      nmbd, Netbios 名称服务器,提供Netbios名称服务和浏览支持,帮助SMB客户定位服务器


      smbclient, SMB客户程序,用来存取SMB服务器上的共享资源;


      testprns 测试服务器上打印机访问的程序


      testparms 测试Samba配置文件的正确性的工具;


      smb.conf samba的配置文件


      smbstatus 这个工具可以列出当前smbd服务器上的连接;


      make_smbcodepage 这个工具用来生成文件系统的代码页;


      smbpasswd 这个工具用来设定用户密码;


      swat samba的Web管理工具;


      


    二、如何配置samba
      实际上,samba安装完后,只要把/etc/smb.conf这个文件里的workgroup=XXXXX这个参数该为您的工作组,启动samba就可以运行了,但这根本不能符合我们的需要。samba的配置都是围绕smb.conf来进行的,配置方式有很多种,如果熟练的话可以手工编辑这个文件,也可以通过linuxconf来配置,而且samba本身带了一个基于web的管理工具swat,使用901端口,安装完samba后,它会在您机器的/etc/services的尾部加上一条:


      swat 901/tcp #Add swat service used via inetd


      在inetd.conf里填上:


      swat stream tcp nowait.400 root /usr/sbin/swat swat


      在浏览器的地址栏里键入 http://youhostname:901/ 就可以进入swat对samba进行管理。下面就介绍如何手工配置这个文件以达到让samba成为一个符合需求的文件服务器


      先看看一小段的smb.conf:


      # smb.conf example


      [global]


      workgroup = WORKGROUP


      server string = Samba Server


      hosts allow = 192.168.1. 192.168.2. 127.


      load printers = no


      printcap name = /etc/printcap


      guest account = guest


      log file = /usr/local/samba/var/log.%m


      max log size = 50


      security = user


      socket options = TCP_NODELAY


      [homes]


      comment = Home Directories


      browseable = yes


      writable = yes


      [printers]


      comment = All Printers


      path = /usr/spool/samba


      browseable = no


      guest ok = no


      writable = no


      printable = yes


      printer driver = Epson LQ-1600K


      [tmp]


      comment = Temporary file


      path = /tmp


      read only = no


      public = yes


      [public]


      comment = Public Zone


      path = /home/samba


      public = yes


      writable = yes


      1.段


      从上面的例子可以看出,smb.conf的格式和Windows里的INI文件很像,含有多个段,每个段由段名开始,一直到下个段名,每个段名放在方括号中间。段里的参数的格式是:名称 = 值。


      文件里的每个段名、参数以及注释都只能占一行,换句话说就是一行里只能写一个段名或参数或注释,如果一行写不下或不想把一行写的过长,可以在行尾用"\"来表示续行。段名和参数名不分大小写。可以有注释,注释以;或#开始到该行结束。


      除了[global]段外,所有的段都可以看作是一个共享资源,段名是该共享资源的名字,而段里的参数就是共享资源的属性。[global], [homes] 和 [printers]这三个段是比较特殊的,将在后面说明。而下面的注意事项则是针对普通的段。


      一个共享资源段由要提供访问的路径和附加的访问权限组成,可以是文件资源或打印资源。共享资源段可以给guest级的用户服务,一般来说guest用户是不需要密码的,如果给guest提供服务,guest的权限是根据UNIX里的guest帐户来赋予。 如果共享资源段不是给guest提供服务的,则访问这样的段需要客户的密码。由于赋予用户对共享资源段的访问权限是基于该用户在UNIX系统的对该资源的访问权限,所以服务器是不能赋予超过UNIX

  • 上一篇:IIS001_如何在iis中使用sslWeb服务器教程
  • 下一篇:利用Linux的Samba服务模拟NT域Web服务器教程
  • 加入收藏】【告诉好友】【 】【打印此文】【回到顶部】【关闭窗口
    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.www.hxswjs.com All Rights Reserved.57365.com 版权所有