美文网首页
Samba基础

Samba基础

作者: 尛尛大尹 | 来源:发表于2018-09-07 18:20 被阅读0次

    1.Samba作用

    Samba是一套使用SMB(Server Message Block)协议的应用程序,通过这个协议,Samba允许Linux服务器与Windows系统之间进行通讯。Samba采用C/S模式,其工作机制是让NetBIOS(Windows网上邻居的通信协议)和SMB两个协议运行于TCP/IP通信协议上,并且用NetBEUI协议让Windows在“网上邻居”中能浏览Linux服务器。

    - Samba服务只需要在Client端将Server端挂载下来即可。
    - NFS仅能让Unix机器沟通
    - CIFS只能让Windows机器互通
    

    2.Samba应用

    (1)分享档案与打印机服务
    (2)可以提供使用者登入Samba主机时的身份认证,以提供不同身份者的个别数据
    (3)可以进行Windows网络上的主机名解析(NetBIOS name)
    (4)可以进行装置的分享
    

    3.Samba服务

    SAMBA 主机就使用两个 daemons 来管理这两个不同的服务:

    • smbd:Samba核心,主要负责建立Linux Samba服务器与Samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问。
    • nmbd:主要负责对外发布Linux Samba服务器可以提供的NetBIOS名称和浏览服务,使Windows用户可以在“网上邻居”中浏览Linux Samba服务器共享资源
    SAMBA 每次启动至少都需要有这两个 daemons
    当我们启动了 SAMBA 之后,主机系统就会启动
     137(UDP) - NetBIOS 名字服务;nmbd
     138(UDP) - NetBIOS 数据包服务
     139(TCP) - 文件共享和打印共享
     445(TCP) - NetBIOS服务在Windows 2000及以后版本使用此端口
     901(TCP) - 用于SWAT,用于网页管理Samba
    

    samba

    这个套件主要包含了 SAMBA 的主要 daemon档案 ( smbd 及 nmbd )、 SAMBA 的文
    件档 ( document )、以及其它与 SAMBA 相关的[logrotate设定文件及开机预设选项等;
    

    samba-common

    这个套件则主要提供了 SAMBA 的主要设定档(smb.conf) 、 smb.conf 语法检验的[测试程序]等等;
    

    samba-client

    这个套件则提供了当 Linux 做为SAMBA Client 端时,所需要的工具指令,例如挂载 SAMBA 档案格式的执行档 smbmount等等。
    

    4.联机模式的介绍 ( peer/peer, domain model )

    SAMBA 主机依照不同的网域联机与使用者账号、密码的控管方式不同,来加以不同的类别应用。
    两种最常见的局域网络的联机模式 是peer/peer 及 domain model。

    • peer/peer ( Workgroup model ) :
    peer 有同等、同辈的意思!简单的来说,在局域网络里面的所有 PC 均可以在自己的计算机上面管理自己的账号与密码,同时每一部计算机也都具有独力可以执行各项软件的能力,只是由网络将各个 PC 连结在一起而已的一个架构,所以,每一部机器都是可以独立运作!
    而在这样的架构下,如果有两部计算机,假设为 pc1 与 pc2 好了,那么当您要坐在 pc1 这部计算机前使用 pc1 的资源时,就必须要知道登入 pc1 的使用者名称与密码,才能够登入使用。而如果您想由 pc1 经过网络联机到 pc2 来使用 pc2 资源时,就必须要知道 pc2 的账号与密码才可以顺利的登入 pc2 ! 
    这样的架构在目前小型办公室里面是最常见的。因为这十部计算机都可以独立运作,所以不会有一部计算机关掉,其它的计算机就无法工作的情况发生。
    

    ** Peer/Peer 的架构是比较适合**

     (1)小型的网域
     (2)没有需要常常进行档案数据分享的网络环境
     (3)每个使用者都独自拥有该计算机的拥有权(就是说,该计算机是使用者的,而不是公用的啦!)
    
    • domain model :
    所谓的 domain model 概念其实也很简单,既然使用计算机资源需要账号与密码,那么我将所有的账号与密码都放置在一部主控计算机 ( Primary Domain Controller, PDC ) 上面,在我的网域里面,任何人想要使用任何计算机时,都需要在屏幕前方输入账号与密码,然后由 PDC 主机的辨识后,才给予适当的使用权限。
    

    5.SAMBA 的执行档:

    SAMBA Server 的执行档有:

    testparm, smbd, nmbd, smbpasswd
    

    SAMBA Client 的执行档:

    (smbmount看版本),smbclient。
    

    6.NetBIOS通讯协议

    SAMBA是架构在NetBIOS(Network Basic Input/Output System)这个通讯协议上。NetBIOS是一个让同一网络内计算机

    7.SAMBA配置文档介绍:

    /etc/samba/smb.conf:

     这个就是 SAMBA 最主要的设定档。这个设定档主要的设定分为两部份,分别是 [global] 这个设定主机功能的项目,以及接下来的每个分享出去的目录的属性设定
    

    /etc/samba/lmhosts:

    主要目的在对应 NetBIOS name 与该主机名称的 IP ,事实上,他有点像是 /etc/hosts 的功能!只不过这个 lmhosts 对应的主机名称是 NetBIOS name !由于目前 SAMBA 的功能越来越强大,所以通常只要您一启动 SAMBA 时,他就能自己捉到 LAN 里面的相关计算机的 NetBIOS name 对应 IP 的信息,这个档案通常可以不用设定了! 
    

    /etc/samba/smbpasswd:

    不存在,需要自己设置使用。他是 SAMBA 预设的使用者密码对应表。当我们设定的 SAMBA 服务器是较为严密的,需要使用者输入账号与密码后才能登入的状态时,使用者的密码预设就是放置在这里咯 (您可以自行在 smb.conf 里面设定密码放置的地方及密码文件名,不过,我们这里都以预设的状态来说明 ) 。这个档案因为包含了使用者的密码,权限需要设置为600,拥有者需要是 root!
    

    8.SAMBA命令:

    SAMBA Server: testparm, smbd, nmbd, smbpasswd

    SAMBA Client:smbmount,smbclient。

    testparm: 查看smb.conf 是否有设定错误。

    smbpasswd:规定使用者的账号与密码

    smbclient:客户端查看共享文件

    smbmount/mount: 来将远程主机分享的档案与目录挂载到自己的 Linux 主机上。

    10.安装SAMBA

    (1)查看Samba安装包
    samba有各种插件提供使用

    samba-4.6.2-8.el7.x86_64.rpm
    samba-client-4.6.2-8.el7.x86_64.rpm
    samba-client-libs-4.6.2-8.el7.i686.rpm
    samba-client-libs-4.6.2-8.el7.x86_64.rpm
    samba-common-4.6.2-8.el7.noarch.rpm
    samba-common-libs-4.6.2-8.el7.x86_64.rpm
    samba-common-tools-4.6.2-8.el7.x86_64.rpm
    samba-devel-4.6.2-8.el7.i686.rpm
    samba-devel-4.6.2-8.el7.x86_64.rpm
    samba-krb5-printing-4.6.2-8.el7.x86_64.rpm
    samba-libs-4.6.2-8.el7.x86_64.rpm
    samba-pidl-4.6.2-8.el7.noarch.rpm
    samba-python-4.6.2-8.el7.x86_64.rpm
    samba-vfs-glusterfs-4.6.2-8.el7.x86_64.rpm
    samba-winbind-4.6.2-8.el7.x86_64.rpm
    samba-winbind-clients-4.6.2-8.el7.x86_64.rpm
    

    ** (2)安装**
    安装全部插件
    yum -y install samba*
    或者只安装需要的文件
    服务器端可以只安装samba
    客户端可以只安装samba-client
    yum -y install samba-client

    (3)Selinux和防火墙

    • 1.直接关闭
    关闭selinux
    > set SELINUX=disabled
    关闭防火墙
    >systemctl stop firewalld
    禁止开机自启
    >systemctl disabled firewalld
    
    • 2.开放Samba
    > setsebool -P samba_enable_home_dirs on
    > setsebool -P samba_export_all_rw on
    开放Samba端口
    > firewalld-cmd  --permanent --add-port=137/tcp
    > firewalld-cmd  --permanent --add-port=138/tcp
    > firewalld-cmd  --permanent --add-port=138/tcp
    > firewalld-cmd  --permanent --add-port=445/tcp
    > firewalld-cmd  --permanent --add-port=901/tcp
    

    (4)启动Samba

    > systemctl start nmb
    > systemctl start smb
    查看smb状态
    > systemctl status smb
    

    (5)设置开机自启

    > systemctl enable smb
    > systemctl enable nmb
    

    相关文章

      网友评论

          本文标题:Samba基础

          本文链接:https://www.haomeiwen.com/subject/fwzqgftx.html