Samba

  1. 1. Samba概述
  2. 2. 端口号
  3. 3. NETBIOS协议
  4. 4. Samba常规服务器配置
  5. 5. 配置文件详解
  6. 6. 使用终端连接smb
    1. 6.1. 使用open命令

Samba最先在Linux和Window两个平台之间架起了一座桥梁, 正是由于Samba的出现, 我们可以在Linux系统和Window系统之间互相通信, 比如拷贝文件, 实现不同操作系统之间的资源共享等等, 我们可以将其架设成一个功能非常强大的文件服务器, 也可以将其架设成一个功能强大的文件服务器, 也可以将其架设成打印服务器提供本地和远程联机打印.

Samba概述

端口号

  • 139
  • 445

在早期, SMB运行于NBT协议(NetBIOS over TCP/IP)上, 使用UDP协议的137, 138及TCP协议的139端口.

NETBIOS协议

NetBIOS是Network Basic Input/Output System的简称, 网络基本输入/输出系统协议. 协议, 一般指用于局域网通信的一套API, 是由IBM公司开发. 主要作用: 通过NETBIOS协议获得计算机名称, 然后把计算机名解析为对应IP地址.

Samba常规服务器配置

基本的Samba服务器的搭建流程主要分为四个步骤:

  1. 编辑主配置文件smb.conf, 指定需要共享的目录, 并为共享目录设置共享权限.
  2. 在smb.conf文件中指定日志文件名称和存放路径.
  3. 设置共享目录的本地系统权限及samba共享权限.
  4. 重新加载配置文件或重新启动smb服务, 使用配置生效.

配置文件详解

  • smb.conf文件的开头部分为samba配置简介, 告诉我们smb.conf文件的作用及相关信息. smb.conf中还有以";" 开头, 这些都是samba配置的格式范例, 默认是不生效的, 可以通过去掉前面的";" 并加以修改来设置想使用的功能.

  • global settings

    1. 设置samba服务器所在工作组或域名. workgroup = mygroup # 工作组
    2. 服务器描述, 服务器描述实际上类似于备注信息. 设置samba描述信息为"mygroup Samba Server". server string = mygroup Samba Server # samba服务器描述
    3. 设置samba服务器安全模式. 常见模式有两种: share安全级别模式和user安全级别模式.
  • Share Definitions共享服务的定义

    1. [homes]为特殊共享目录, 表示用户主目录.
    2. [printers]表示共享打印机.
    3. [share] # 设置共享名
      comment = Home Directories # 描述
      browseable = yes # 是否允许查看此共享内容. 如果否, 后期通过绝对路径, 可以查看到.
      path = /share # 共享路径, 写绝对路径
      public = yes # 允许匿名查看
      valid users = 用户名(或者@组名) # 设置访问用户
      readonly = yes # 只读, 如果NO, 是读写
  • 总结:

    1. 设置共享名
      [共享名]

    2. 共享资源描述
      comment = 备注信息

    3. 共享路径
      path = 绝对路径

    4. 设置匿名访问
      public = yes # 允许匿名访问
      public = no # 禁止匿名访问

    5. 设置访问用户
      valid users = 用户名
      valid users = @组名

    6. 设置目录只读
      readonly = yes # 只读
      readonly = no # 读写

    7. 设置目录可写
      如果共享目录允许用户写操作, 可以使用writable 或 write list两个字段进行设置
      writable = yes # 读写
      writable = no # 只读

         write list = 用户名
         write list = @组名
      
  • Samba服务日志文件
    在/etc/samba/smb.conf文件中, log file为设置samba日志的字段

使用终端连接smb

使用open命令

open命令是mac系统中很有用的一个命令,可以用来打开许多文件.也可以用open命令来使用smb协议,vnc协议之类的.例如

1
open smb://192.168.10.58

即可使用finder打开以192.168.10.58为host的smb协议的通信.当然其本质还是将这一通信挂载为一个文件夹来访问.