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服务器的搭建流程主要分为四个步骤:
- 编辑主配置文件smb.conf, 指定需要共享的目录, 并为共享目录设置共享权限.
- 在smb.conf文件中指定日志文件名称和存放路径.
- 设置共享目录的本地系统权限及samba共享权限.
- 重新加载配置文件或重新启动smb服务, 使用配置生效.
配置文件详解
-
smb.conf文件的开头部分为samba配置简介, 告诉我们smb.conf文件的作用及相关信息. smb.conf中还有以";" 开头, 这些都是samba配置的格式范例, 默认是不生效的, 可以通过去掉前面的";" 并加以修改来设置想使用的功能.
-
global settings
- 设置samba服务器所在工作组或域名. workgroup = mygroup # 工作组
- 服务器描述, 服务器描述实际上类似于备注信息. 设置samba描述信息为"mygroup Samba Server". server string = mygroup Samba Server # samba服务器描述
- 设置samba服务器安全模式. 常见模式有两种: share安全级别模式和user安全级别模式.
-
Share Definitions共享服务的定义
- [homes]为特殊共享目录, 表示用户主目录.
- [printers]表示共享打印机.
- [share] # 设置共享名
comment = Home Directories # 描述
browseable = yes # 是否允许查看此共享内容. 如果否, 后期通过绝对路径, 可以查看到.
path = /share # 共享路径, 写绝对路径
public = yes # 允许匿名查看
valid users = 用户名(或者@组名) # 设置访问用户
readonly = yes # 只读, 如果NO, 是读写
-
总结:
-
设置共享名
[共享名] -
共享资源描述
comment = 备注信息 -
共享路径
path = 绝对路径 -
设置匿名访问
public = yes # 允许匿名访问
public = no # 禁止匿名访问 -
设置访问用户
valid users = 用户名
valid users = @组名 -
设置目录只读
readonly = yes # 只读
readonly = no # 读写 -
设置目录可写
如果共享目录允许用户写操作, 可以使用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协议的通信.当然其本质还是将这一通信挂载为一个文件夹来访问.