zoukankan      html  css  js  c++  java
  • samba服务简介

    1.1 Samba 概述
    Samba主要用于Windows和Linux之间的文件共享,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的。我们可以通过samba架设一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印,甚至我们可以使用samba Server完全取代NT/2K/2K3中的域控制器,做域管理工作,使用也非常方便。 
    1.2 Samba 应用环境
    文件和打印机共享:文件和打印机共享是Samba 的主要功能,SMB 进程实现资源共享,将文件和打印机发布到网络之中,以供用户可以访问。身份验证和权限设置:smbd服务支持user mode和domain mode等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打印机。
    名称解析:Samba通过nmbd服务可以搭建NBNS(NetBIOS Name Service)服务器,提供名称解析,将计算机的NetBIOS 名解析为IP 地址。
    浏览服务:局域网中,Samba 服务器可以成为本地主浏览服务器(LMB),保存可用资源列表,当使用客户端访问Windows 网上邻居时,会提供浏览列表,显示共享目录、打印机等资源。
    1.3 Samba 工作原理
    Samba服务功能强大,这与其通信基于SMB协议有关。SMB不仅提供目录和打印机共享,还支持认证、权限设置。在早期,SMB 运行于NBT 协议(NetBIOS over TCP/IP )上,使用UDP 协议的137、138 及TCP 协议的139 端口,后期SMB 经过开发,可以直接运行于TCP/IP 协议上,没有额外的NBT 层,使用TCP 协议的445 端口。
    (1)Samba 工作流程
    当客户端访问服务器时,信息通过SMB 协议进行传输,其工作过程可以分成四个步骤:
    步骤 1:协议协商
    客户端在访问 Samba 服务器时,发送negprot 指令数据包,告知目标计算机其支持的SMB类型。Samba 服务器根据客户端的情况,选择最优的SMB 类型,并做出回应。
             --------negprot 请求------->
    客户端                                        服务器
             <--------negprot 响应------
    步骤 2:建立连接
    当SMB类型确认后,客户端会发送session setup指令数据包,提交帐号和密码,请求与Samba服务器建立连接,如果客户端通过身份验证,Samba服务器会对session setup报文作出回应,并为
    用户分配唯一的UID,在客户端与其通信时使用。
            --------session setup &X 请求------->
    客户端                                                      服务器
           <--------session setup &X 响应-------
    步骤 3:访问共享资源
    客户端访问Samba共享资源时,发送tree connect指令数据包,通知服务器需要访问的共享资源名,如果设置允许,Samba服务器会为每个客户端与共享资源连接分配TID, 客户端即可访问需要的共享资源。
            --------tree connect &X 请求------->
    客户端                                                   服务器
           <--------tree connect &X 响应-------
    步骤 4:断开连接
    共享使用完毕,客户端向服务器发送tree disconnect报文关闭共享,与服务器断开连接。
             --------tree disconnect 请求------->
    客户端                    服务器
            <--------tree disconnect 响应-------
    (2)Samba 相关进程
    Samba服务是由两个进程组成,分别是nmbd 和smbd。
    nmbd:其功能是进行NetBIOS名解析(通过主机名进行访问),并提供浏览服务显示网络上的共享资源列表。port:137 138 
    smbd:其主要功能就是用来管理Samba服务器上的共享目录、打印机等,主要是针对网络上的共享资源进行管理的服务。当要访问服务器时,要查找共享文件,这时我们就要依靠smbd这个进程来管理数据传输(通过IP进行访问)。port:139 445 。现在一般都是使用smbd 来访问samba服务。nmbd服务可以不用启动。

  • 相关阅读:
    面向对象编程思想-单例模式
    Bootstrap(四):CSS--表格
    Bootstrap(三):CSS--代码
    Git 学习第三天(一)
    Git 学习第四天
    Git 学习第二天(三)
    Git 学习第三天(二)
    Git 学习第二天(一)
    GIT 学习第二天 (二)
    Git 学习第一天
  • 原文地址:https://www.cnblogs.com/rusking/p/3837364.html
Copyright © 2011-2022 走看看