当前位置:Linux教程 - Samba - Samba实现Linux和NT网络集成

Samba实现Linux和NT网络集成



        
      Linux和Windows是目前比较流行的操作系统,在许多企业的内部网中同时存在这两种操作系统。为提高企业的资源利用率,需要能在这些不同系统之间共享资源,比如可以从Windows的客户机访问Linux 服务器的共享文件夹或打印设备,或者从Linux 客户机上使用Windows服务器的磁盘空间和打印机等。为此,就需要进行Linux和Windows网络集成。
    实现Linux和Windows网络集成的方法有很多,其中主要的3种方法如下:
    ● 简单的通信方式:利用telnet、FTP、HTTP等命令和协议实现网络间通信;
    ● 网络文件系统NFS:NFS可以在Unix主机之间、Linux和Windows主机之间实现资源共享;
    ● SMB协议:通过在Linux主机上安装支持SMB协议的服务器和客户端软件,可以方便地实现网络集成。
    现阶段,在国内以Windows NT/2000为主的中小型局域网居多,绝大多数的用户都熟悉Windows操作平台。同时,越来越多的单位希望应用具有良好性能价格比的Linux作为网关和网络服务器搭建企业网(Intranet)以及接入Internet。在上述几种方案中,基于SMB协议的集成方案由于具有简单、透明和低成本等优点,成为企业的首选。这种方式的突出优点是将Linux主机直接集成到了Windows网络中。
    SMB协议和Samba
    SMB协议用于实现局域网中计算机之间文档、打印设备和其他计算机资源的共享。
    在Linux或Unix平台上,支持SMB协议的软件有很多,其中比较受欢迎的当数Samba。利用它,人们可以方便地实现Linux与Windows网络的集成。Samba由一组套件组成,主要包括: SMB服务器(smbd)、NetBIOS服务器(nmbd)、SMB客户端(smbclient)和其他工具。
    Samba的安装
    1. 安装
    以root用户身份登录后,输入命令运行ps -x检查系统中是否存在smbd和nmbd进程。若有,输入关掉所有的SMB进程的命令:
    /etc/rc. d/init. d/smb stop
    再卸掉原有的老版本的Samba:
    rpm -e Samba
    最后安装新的Samba(假定在/home/myfiles目录下)
    rpm -I /home/ myfiles /smbfs-2.0.7-20000425. i386. rpm。
    2. 启动
    安装成功后,用户有几种启动Samba的方法。其中手工启动方法如下:
    输入命令:
    /usr/sbin/smbd -D
    /usr/sbin/nmbd -D
    或者输入命令:
    /etc/rc. d/init. d/smb start
    如果需要把Samba服务器放到inetd中执行,则可以在/etc/inetd. conf文件中加入下述语句:
    # SAMBA NetBIOS services
    netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd
    netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd
    最后运行:
    /etc/rc. d/init. d/inet restart
    配置Samba服务器
    Samba的配置信息都存放在smb. conf文件中。配置信息分为两部分:第一部分是全局参数区[globals],设置的是一些公用信息; 第二部分是资源共享区,设置服务器输出的目录资源和打印资源。用户可以按需要定义共享目录或打印资源。
    下面以一个简单的例子来说明smb. conf的使用(如下图所示)。

    系统结构图
    上图中myserver是Linux的samba服务器,它把本地打印机输出为网络打印机lp,并把本地目录/tmp输出为共享目录pubdir。同时用户可访问自己的Linux主目录。下面是它的smb. conf文件:
    [global] # 全局参数区
    workgroup = mynet #工作组名或NT域名 server string = Samba Server #服务器的注释 printcap name = /etc/printcap # 加载打印机
    load printers = ye
     security = user
    encrypt passwords = yes
    smb passwd file = /etc/smbpasswd [homes] # 用户主目录
     comment = Home Dictories
     browseable = no
     writable = yes
    [printers] # 配置网络打印机
    path = /var/spool/samba # 假脱机路径 browseable = no
     public = yes
     writable = no
     printable = yes
    [pubdir] # 共享目录
     path = /tmp # 目录的路径
     public = yes
     writable = yes
     printable = no
    修改后,可以运行testparm检查配置是否成功。
    配置完smb. conf后,还需要添加Samba服务器的用户。因为Samba默认的安全级是用户级(security = user),所以Samba用户必须是Linux系统用户。以root用户身份登录,添加Linux用户,并设定密码:
    Adduser smbuser
    passwd smbuser
    把用户smbuser加入到Samba 服务器用户中并设定密码:
    smbpasswd -a smbuser
    重新启动Samba服务器。这时从myclient可以浏览和访问Linux上的资源。
    使用Samba客户端
    支持SMB的客户端工具有很多,一般的Windows 9x/NT/2000平台只要安装了TCP/IP就能访问Samba服务器。Smbclient是Linux下的SMB客户端工具。如访问SMB服务器myserver上的\\ myserver \pubdir资源:
    smbclient \\\\ myserver \\pubdir
    此时系统会进入Samba交互界面,该界面和FTP的操作类似,如输入ls列出资源的目录,输入get可以拷贝文件到本地,输入help可列出命令帮助等。

    发布人:netbull 来自:E起点