zoukankan      html  css  js  c++  java
  • Samba文件共享服务

    思维导图:

    1. Samba服务概述

    1.1 smb/CIFS协议

    • smb:Service Message Block
    • cifs:Common Internet Filesystem
    • smb协议也叫cifs协议

    1.2 NetBIOS协议

    • NetBIOS:网络基本输入输出协议
      • 作用:主机名解析(NetBIOS所支持的主机名最长不能超过15个字符)
    • 工作方式:
      • Windows的本地网络主机名称解析服务以广播的方式在工作
      • 以广播的方式探测整个网络内有多少主机对这个协议是支持的,而后去请求解析得到对方的主机名
      • 等NetBIOS解析完毕后,才通过SMB协议实现文件系统共享

    1.3 功能

    • 文件系统共享
    • 打印机共享

    2. Samba程序结构

    2.1 程序结构

    1)服务端程序包

    • 程序包:
      • samba
      • samba-common
      • samba-libs
    • 安装:
      • yum  install  samba  -y

    2)主程序

    • nmbd:
      • NetBIOS name server  实现NetBIOS协议的
    • smba:
      • SMB/CIFS services 实现文件共享

    2.2 端口&配置

    1)监听的端口

    • nmbd:137/udp、138/dup
    • smbd:139/tcp、445/tcp

    2)主配置文件

    • /etc/samba/smb.conf
    • 由samba-common包提供

    3)Unit File

    • smb.service
    • nmb.service
    • 注意:在用systemctl启用samba服务时,上面的两个服务都要启用

    2.3 客户端程序

    1)smbclient

    • 作用:
      • 交互式命令行客户端,类似于lftp
    • 查看Server端的共享:
      • 参数:
        • -L  netbios  可以使用netbios,也可以直接指定主机名
        • -U  username  指定以哪个用户的身份去访问,如果不指定用户名,则默认以匿名用户访问
      • 示例:
        • smbclient  -L  10.0.0.201   查看此主机上的所有smb共享,以匿名用户的身份访问
    • 登录:
      • 语法:smbclient  //主机/共享名  -U  用户名
      • 示例:smbclient  //10.0.0.201/smbuser1  -U  hgzero

    2)mount.cifs

    • 直接挂载使用
    • 挂载cifs文件系统的专用命令

    3)与windows主机之间实现共享

    4. Samba服务的配置

    4.1 配置文件

    • 配置文件:/etc/samba/smb.conf
    • 配置文件语法检测:testparm

    4.2 全局配置

    4.3 共享文件系统配置[ SHARED_NAME]

    5. Samba用户管理

    6. Samba服务共享的查看

    • 查看Server端的共享  
      • smbclient  -L  SMB_SERVER  [ -U  USERNAME ]
    • 交互式文件访问:
      • smbclient  //SMB_SERVER/SHARE_NAME  [ -U  USERNAME ]
    • 挂载访问:
      • smbclient   -t  cifs  //SMB_SERVER/SHARE_NAME   /mnt  -o  username=USERNAME,password=PASSWORD
      • 注意:挂载操作的用户,与-o选项中指定的用户直接产生映射关系,此时,访问挂载点,是以-o选项中的username指定的用户身份进行的
    • smbstatus:
      • 作用:显示samba服务的相关共享的访问状态信息
      • 参数:
        • -b:显示简要格式信息
        • -v:显示详细格式信息
  • 相关阅读:
    docker镜像制作及上传到远端镜像仓库
    mysql索引进阶
    电子商务需要用到香港服务器吗?
    golang module goland 配置代理
    nginx做linux服务时,日志有权限提示没权限(nginx: [emerg] open() "/home/www/log/error.log" failed)
    Yaml 、Json 、Dict 之间的转化
    CodeSmith .NET三层架构模板
    C#获取26个英文字母
    基于PCASClass.js和layui.js的城市三级联动
    MySQL变量的使用
  • 原文地址:https://www.cnblogs.com/hgzero/p/13677566.html
Copyright © 2011-2022 走看看