Kelvin's profile鸿程网逝PhotosBlogLists Tools Help

Blog


    April 29

    借助网络和Samba实现资源共享

     

        一、Samba的基础知识

      1.什么是Samba?

      Samba是一组软件包,运行于Linux系统中,用来实现与Windows系统之间的通信。它允许Linux系统出现在Windows的网络邻居中,使Windows用户享受由Linux主机提供的文件与打印服务。

      2.Samba能做什么?

      Samba由两个主要程序组成,它们是smbd和nmbd。这两个守护进程在服务器启动到停止期间持续运行,功能各异。Smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。Smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享,共享输出给谁及如何进行输出。
    Samba提供了基于CIFS的四个服务:文件和打印服务、授权与被授权、名字解析、浏览服务。前两项服务由smbd提供,后两项服务则由nmbd提供。简单地说,smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与Linux进行协商,nmbd进程使主机(或工作站)能浏览Linux服务器。

      二、Samba的设置

      用户可以使用“manswat”命令来设置Samba,由于swat的不足之处在于不能得到相关的解释,所以对初学者来说最好使用“vi/etc/smb.conf”来配置Samba,用户可从中得到相关解释,此处将对Samba中常用的配置作重点介绍。

      用户使用vi编辑器对smb.conf文件进行编辑,可以添加、删除及修改smba提供的多种服务。Smb.conf一般位于/etc目录下,在定制符合实际需求的smb.conf时,最好使用#cp/etc/smb.conf/etc/smb.conf.old进行备份。

      在缺省情况下,RedHatLinux的samba在启动时就已投入运行。当我们修改了smb.conf后,必须重新启动samba服务,才能使修改有效。为此,可利用系统脚本来手工启动和停止samba。具体方法如下:
    #/etc/rc.d/init.d/smbstart(启动samba)
    #/etc/rc.d/init.d/smbstop(停止samba)

      1.全局参数的设置

      该部分由[global]段完成Global的设置,该部分提供了全局参数,对samba的功能具有很大的影响,主要用来设置整个系统规则。[global]段主要内容有(注:在下面所有段的设置中,括号中的内容为注释部分):

      [global]

      workgroup=mygroup(提供NT域名或工作组名,mygroup是系统提供的缺省名字,用户可根据实际情况,给出与windows的域名或工作组名相同的名字,以指出samba将在该域或工作组范围中起作用。)

      serverstring=sambaserver(指定服务信息通常为samba服务。)

      hostsallow=163.1.1.5,163.1.1.8(允许登录的Linux-samba的主机名单,用IP地址给出,多个IP地址用空格分开,不在名单中的主机将不能得到samba提供的服务。)

      printcapname=/etc/printcap(指定printcap文件地址,通常为/etc/printcap,包含了Linux打印机的配置信息,在ReaHatlinux中,lpd守护进程读取printcap文件的配置信息,然后监测系统的打印请求并管理打印进程。)

      loadprinters=yes(允许使用共享打印机时,默认值为yes。)

      security=user(指定安全模式。大多数用户使用user级的安全模式,samba用本地Unix口令文件验证。如果设置为server时,samba将用passwordserver设定windowsNT域服务器验证方式,格式为passwordserver=NT域名。)

      domainlogons=yes(为从win95工作站登录samba提供域名登录服务,应使该项置为yes。)
      2.共享用户主目录

      在[homes]部分指定windows共享的主目录,如果在windows工作站登录的名字与Linux用户名相同,提供的口令也一致,那么打开网络邻居,双击共享目录图标,就可获得访问该目录的权力。从Windows访问Linux主目录时,用户名作为主目录共享名。[homes]段的主要内容有:

    [homes]

      comment=/home/root说明提供的服务为用户主目录服务,不影响操作。

      browseable=no(指定其它用户能否浏览该用户主目录。一般置为no,禁止其它用户访问,确保数据安全。)

      writable=yes(使用户访问该目录时具有读取和写入主目录中的文件时,取值为yes,只有读取权限时应置为no。)

      3.使用共享打印机

      [printers]部分用于指定如何共享Linux网络打印机,从windwos系统访问Linux网络打印机时,共享应是printcap中指定的Linux打印机名。

      [printers]

      browseable=yes(若取值为yes,则允许其它用户访问打印机。否则,限制其它用户的访问权。)

      printable=yes(置为yes,才能实现打印。)

      public=no(置为no,客户帐号不打印出来;置为yes,则打印出客户帐号。)

      writable=no(打印机是输出设备,不可写入,应置为no。)

      4.设置临时共享目录

      该部分是为所有用户提供临时共享指定目录的方法:

      [tempdir]

      path=/lgx2000(指定临时共享路径,如c:\lgx2000。)

      readonly=no(置为no时,用户对/tmp有可读、可写和执行的权限。)

      public=yes(一般置为yes,以便让所有用户共享使用/lgx2000目录。)

      5.设置公共访问目录

      [public]段提供了所有用户都可以共同访问的目录。除了那些属于维护人员具有读、写、执行权外,用户只具有读取的访问权限。

      [public]

      path=/home/samba(指定公众共享目录路径)

      public=yes(取值为yes,允许公众共享。否则,禁止公众共享该目录)

      writable=yes(取值为yes时,公众对/home/samba有可写权力。)

      printable=yes(取值为yes时,公众对/home/samba有打印权力)

      writelist=lgx2000lgx2001(指定具有可写权力的用户名单)

      6.设置私用目录

      [fredsdir]段用于指定私用目录,以供指定的用户使用,该用户对该目录具有写权限。

      [fredsdir]

      path=c:/lgx(指定私用目录路径,以便指定用户可读写)。

      validusers=lgx2001(指定使用该私用目录的合法用户)

      public=no(当取值为no时,该私用目录不供公众用户所共享)

      writable=yes(指定的用户对该私用目录具有写权限)

      printable=yes(取值为yes时,可打印)。

      7.共享光驱设备

      修改smb.conf之前,先安装光驱,可执行下列命令:
    #mount-tiso9660/dev/cdrom/mnt/cdrom
    然后定制samba,内容如下:

      [cdrom]

      path=/mnt/cdrom(指定设备加载点)

      readyonly=yes(该设备用于只读)

      public=yes(该设备向公众开放)

      通过对Samba介绍,读者可参照文中介绍的方法,根据用户的实际需求,量“身”定制Samba,如:如何实现软盘驱器、打印机等资源的共享,如何保证某一目录仅向指定的用户提供服务,如何让某一资源向所有网络用户开放等。这些问题将留给大家自己去完成,有什么问题请发E-mail至lgx2000@nbsp;yeah.net。

    Comments

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    Trackbacks

    The trackback URL for this entry is:
    http://jruv1980.spaces.live.com/blog/cns!AB17D69DC2677177!110.trak
    Weblogs that reference this entry
    • None