Samba 4.15.13 介绍与选型指南

SMB/CIFS 文件与打印服务标准开源实现:架构、功能、适用场景、与 NFS/FTP/WebDAV/MinIO 量化选型对比及 Windows AD 集成定位(信息检索日期 2026-10-26)

SambaSamba文件共享SMB2026/10/26

Samba 4.15.13 介绍与选型指南

目标:面向需要在 Linux 服务器上提供 Windows 原生兼容的文件/打印共享(SMB/CIFS 协议)的运维与自托管用户,讲清 Samba 是什么、能做什么、和 NFS/FTP/WebDAV/MinIO 该怎么选。全文信息来源于 Samba 官方站点与公开权威资料,检索日期统一为 2026-10-26;安装部署、参数与命令的逐条实测见本专栏后续文章。

一、环境信息

本文为联网溯源篇,不含本地实测;全文以以下公开信息源为准(检索日期均为 2026-10-26):

项目说明
官网https://www.samba.org/
官方 Wikihttps://wiki.samba.org/
源码仓库https://git.samba.org/samba.git (GitHub/GitLab 为只读镜像,见 https://github.com/samba-team/samba )
版本发布计划https://wiki.samba.org/index.php/Samba_Release_Planning
Ubuntu 22.04 仓库版本samba 2:4.15.13+dfsg-0ubuntu1.13(Canonical 维护维护分支)

截至检索日 2026-10-26,Samba 官方最新稳定版为 Samba 4.25.1(2026-10-23 发布,4.25 系列首个稳定版),上一系列 4.24 最新版为 4.24.8(2026-10-12 发布)[1]。Ubuntu 22.04 官方仓库提供的 samba 为 4.15.13(包版本 2:4.15.13+dfsg-0ubuntu1.13),由 Canonical 在发行版生命周期内负责安全维护;本文系列文章标题即以该仓库实测版本 4.15.13 为准。

二、软件概述

Samba 官方对其的定位是:面向 Linux 与类 UNIX 系统的、功能最完备的 SMB 与 Active Directory 协议开源实现[1]。它为所有使用 SMB 协议以及 LDAP、Kerberos 等 AD 协议的客户端,提供安全、稳定、快速的文件与打印服务[1]。

几个关键事实:

  • 协议层面:SMB(Server Message Block,早年称 CIFS)是 Windows 网上邻居/映射网络驱动器背后使用的文件共享协议。Samba 让 Linux 服务器既能"说 SMB"对外提供服务(作为服务端),也能加入 Windows 域环境(作为成员服务器),甚至直接充当活动目录域控制器(AD DC)[1]。
  • 许可与治理:Samba 是 GNU GPL 许可下的自由软件,项目是 Software Freedom Conservancy 的成员[1],由全球社区开发维护,开发资金曾获 Sovereign Tech Fund 等支持[1]。
  • 历史与生态:项目自 1992 年起由 Andrew Tridgell 发起,目前几乎所有主流 Linux 发行版(Ubuntu/Debian/RHEL/SUSE 等)都随仓库附带 Samba 包;众多商用 NAS(如 OpenMediaVault 等自托管方案)也以 Samba 作为其 SMB 共享的底层实现。
  • 代码规模:主仓库以 C 语言编写;GitHub 镜像 samba-team/samba 截至 2026-10-26 有约 1.1k Star、486 Fork[2],社区开发实际在 git.samba.org 与官方 GitLab 上进行[2]。

三、核心架构

3.1 进程模型

随 Ubuntu 仓库包安装后,Samba 的核心守护进程主要有三个(服务由 systemd 单元管理):

  • smbd:SMB/CIFS 主服务进程,负责文件与打印服务、会话认证与共享授权,监听 TCP 445/139;
  • nmbd:NetBIOS 名字服务与浏览服务,监听 UDP 137/138,负责主机名广播解析与工作组浏览列表;
  • winbindd:将 Windows 域用户/组解析为本地视图,仅在域成员或 AD DC 场景运行。

standalone(工作组)模式下只用到前两者;smbd 会对每个连接派生子进程处理,父进程负责监听与派发。

3.2 协议与端口

端口协议用途
TCP 445SMB over TCP(直连承载)主文件/打印通道,现代客户端首选
TCP 139NetBIOS 会话服务兼容老式 NetBIOS over TCP/IP 的 SMB 承载
UDP 137NetBIOS 名字服务(NBNS/WINS 类)主机名广播解析
UDP 138NetBIOS 数据报服务浏览、发现

自 Samba 4.11 起,SMB1 协议在服务端默认禁用,4.15 系列亦然(客户端以 SMB2/SMB3 连接)[3];实测中用 smbclient -m NT1 连接会被直接拒绝,协商失败并提示 min protocol SMB2_02(见《Samba 4.15.13 配置参数详解》5.6 节实录)。

3.3 部署角色

Samba 4 起可以同时扮演三类角色[1][4]:

  • standalone server(独立服务器/工作组模式):本地账户 + smbpasswd/passdb 认证,最适合自托管文件服务器;
  • domain member(域成员):加入既有 AD,由域控认证,配合 winbindd 做身份映射;
  • AD DC(域控制器):用 samba-tool 提供域控功能,可替代部分 Windows Server 域控职能。

3.4 VFS 模块机制

smbd 在文件操作路径上挂钩了可插拔的 VFS(Virtual File System)模块层,常见如 recycle(回收站)、full_audit(审计日志)、shadow_copy2(快照/影子副本)、vfs_acl_xattr(将 ACL 存入扩展属性)等,通过 vfs objects 参数按共享启用,这也是 Samba 功能扩展的主要方式[4]。

四、功能特性

基于官方文档与 Wiki[1][4],Samba 的主要能力可归纳为:

  • 文件共享:多共享定义(每个共享映射一个目录树)、共享级与用户/组级访问控制(valid users、write list 等)、POSIX 权限与掩码映射(create mask、force create mode 等)、Windows ACL(需 vfs_acl_xattr)与 POSIX ACL 映射;
  • 打印服务:可作为打印服务器把 CUPS 打印机发布给 Windows 客户端([printers]/[print$] 段);
  • 认证体系:本地 passdb(smbpasswd/pdbedit 管理)、NTLMv2、Kerberos,可对接 AD;map to guest 支持把无效/匿名请求映射为 guest;
  • AD 集成:AD DC 与域成员双形态,samba-tool 提供用户、组、DNS、GPO 等域管理命令;
  • 传输安全:SMB3 起支持端到端加密(encryption)与 AES 签名,协议版本可按最低/最高协商;
  • 高可用与集群:与 CTDB 配合可实现多节点集群文件服务,官方定位覆盖云 PaaS、软件定义存储(SDS)、高性能计算(HPC)与企业级 NAS[1]。

五、快速开始

以下为官方文档推荐的最小可用形态(完整逐步实测回显见本专栏《Ubuntu 22.04 安装 Samba 4.15.13 指南》):

# 1) 安装(Ubuntu 22.04 仓库版 4.15.13)
sudo apt update && sudo apt install -y samba

# 2) 定义一个最简共享:在 /etc/samba/smb.conf 追加
#    [public]
#    path = /srv/samba/public
#    browseable = yes
#    writable = yes
#    guest ok = yes

# 3) 校验配置并重启服务
testparm -s
sudo systemctl restart smbd

# 4) Linux 客户端验证与访问
smbclient -L //服务器地址 -N
smbclient //服务器地址/public -N

# 5) Windows 客户端:文件管理器地址栏输入 \\服务器地址\public

Windows 与 macOS 原生支持 SMB:Windows 用 UNC 路径或映射网络驱动器即可访问,无需安装任何额外客户端软件,这是 Samba 相比其他文件共享方案最直接的生态优势。

六、适用场景与限制

6.1 适用场景

  • 家庭/中小团队 NAS:多台 Windows/Mac/Linux 混合设备访问同一台 Linux 文件服务器;
  • Windows 办公环境的 Linux 存储后端:需要把 Linux 目录以"网络驱动器"形式挂进 Windows;
  • 打印服务器:把 CUPS 打印机发布给全办公区;
  • AD 域集成存储:企业内已有 Windows 域,需要 Linux 服务器加入域并按域用户授权共享;
  • 混合协议网关:对后端集群文件系统(如 GFS/GPFS 类)对外提供 SMB 出口[1]。

6.2 限制与注意点

  • 仓库版本偏旧:Ubuntu 22.04 仓库的 4.15.13 上游已于 2023 年停止维护(Samba 各系列约 18 个月维护期,4.15 早已进入 EOL,详见 7.2 节),安全修复依赖 Canonical backport;如需新特性(如 SMB3.1.1 部分增强),需自行编译或使用新发行版[4]。
  • 不适合广域网裸奔:SMB 为内网局域网协议设计,公网直连 445 端口是常见的攻击面(蠕虫与勒索软件最爱);跨公网应走 VPN/WireGuard 隧道。
  • 非对象存储:Samba 输出的是文件协议,没有对象存储的多版本、生命周期、S3 API 等能力,两者不是替代关系(见 7.1.4)。
  • 配置面广:smb.conf 参数数百个,权限又是"smb.conf 掩码 × Linux 权限 × ACL"三层叠加,需要成体系的理解(详见本专栏配置参数详解一文)。

七、同类选型对比

7.1 横向对比表

从文件共享协议维度,Samba 最常与 NFS、FTP(以 vsftpd 为代表)、WebDAV、以及对象存储(以 MinIO 为代表)做比较:

维度Samba(SMB 4.15.13)NFS(以 NFSv4.1 为例)FTP(vsftpd)WebDAV(RFC 4918)对象存储(MinIO,S3 API)
协议/端口SMB2/3,TCP 445/139 + UDP 137/138[4]NFSv4.1(RFC 8881),TCP 2049 单端口[6]FTP 双通道 21+动态数据口(FTPS 可 TLS)[7]HTTP/HTTPS 方法扩展(PROPFIND/PUT 等)[8]HTTP/HTTPS,S3 REST API
客户端生态Windows/macOS 原生(映射网络驱动器),Linux 需 cifs-utilsLinux/Unix 原生最佳;Windows 原生 NFS 客户端较弱全平台但通常走专用客户端全平台浏览器可用;桌面挂载体验一般需 SDK/CLI/兼容工具
认证模型用户级:passdb/NTLMv2/Kerberos,可接 AD;用户/组授权精细v3 多为信任主机+UID 映射(sec=sys),v4 Kerberos 可用但部署重独立账号或系统账号,无 AD 原生映射Basic/Token/Digest,依赖宿主实现Access Key/Secret + STS/策略
权限粒度POSIX 权限+掩码+POSIX ACL+Windows ACL(可并存)POSIX 权限为主,v4 ACL 复杂少用目录/文件系统层,协议层几乎无 ACLWebDAV ACL(RFC 3744)实现普遍较弱Bucket/Prefix 策略(IAM),非 POSIX
语义完整文件随机读写、字节锁、oplock/lease 缓存、原子 rename完整 POSIX 文件语义(含字节锁,v4.1 有会话/目录委托)整文件上传/下载为主,无字节锁、无原地随机写方法级读写,随机写与锁能力弱不可原地改写,rename=copy+delete,无锁
典型场景Windows 混合办公文件服务器、NAS、AD 集成Linux 间共享、虚拟机/容器存储后端公网软件分发、日志抓取等简单传输经 HTTPS 穿越代理的远程文档访问海量对象、备份归档、云原生应用

要点解读:

  1. Windows 兼容是 SMB 独有护城河:NFS 在 Windows 侧体验与权限映射始终别扭;FTP/WebDAV 没有 Windows"网络驱动器"级别的原生集成。凡是"Windows 客户端为主"的场景,Samba 几乎是唯一正解。
  2. Linux 互访首选 NFS:纯 Linux/Unix 客户端之间的共享,NFS 配置更薄、性能更好;此时 Samba 的 NTLM/AD 体系属于冗余。
  3. FTP 已非文件共享首选:vsftpd 模式简单,但明文通道(除非 FTPS)、无锁无随机写、无目录级 ACL;定位更接近"文件传输"而非"文件系统共享"[7]。
  4. 对象存储是另一层抽象:MinIO 提供 S3 兼容 API 与横向扩展,适合海量对象与备份归档;它不能替代 SMB 给 Windows 用户"映射盘"的能力,两者常在同一套系统里分工共存(MinIO 管对象与备份,Samba 管共享目录)[9]。

7.2 版本与维护状态(量化)

Samba 官方发布计划(检索日期 2026-10-26)[4]:

版本系列角色状态(2026-10)
4.25.x当前稳定2026-09 起,安全修复预计至 2028-03
4.24.x维护模式仅缺陷修复
4.23.x仅安全修复EOL 前最后阶段
4.22 及更早生命周期结束上游已停止维护
  • 官方节奏:每个系列发布后约 18 个月进入 EOL,新系列(4.25)发布约 3 个月后上一系列(4.24)转入维护模式[4];
  • 发行版仓库版(Ubuntu 22.04 的 4.15.13)虽上游 EOL,但 Ubuntu 会持续把安全补丁 backport 到该包直至发行版 EOL(2027-04,标准支持期);
  • 选型建议:生产新部署优先发行版仓库版(省心、安全更新自动到位,功能足够文件服务器使用);需要最新 SMB 特性再考虑新发行版或自行编译。

7.3 社区活跃度

  • 发版频繁:2026 年 10 月一个月内连续发布 4.25.1(10-23)与 4.24.8(10-12)[1];
  • 长期项目:GitHub 镜像 2015 年创建,持续推送至今(pushed_at 2026-10-23)[2];
  • 文档体系:官方 Wiki(samba.org wiki)+ man 手册(smb.conf(5)、smbd(8) 等)+ 社区邮件列表,问题定位资料充足。

7.4 Windows AD 集成定位

在"Linux 服务器接入 Windows AD"这一维度,Samba 的能力是 NFS/FTP/WebDAV 均不具备的:

  • 作为域成员:net ads join 加入域后,winbindd 将域用户/组映射为 Unix UID/GID,共享授权可直接写 valid users = @DOMAIN\group;
  • 作为AD DC:samba-tool domain provision 可搭建完整域控(含 Kerberos/DNS),官方 Wiki 提供从单域到多 DC 的完整手册[4];
  • 作为认证后端:即便只做文件服务器,也能用 Kerberos 单点登录(SMB3 + Kerberos 是微软生态的默认组合)。

八、参考链接

  1. Samba 官网(当前稳定版 4.25.1、项目定位、许可) https://www.samba.org/ (检索日期 2026-10-26)
  2. samba-team/samba GitHub 镜像仓库元数据(Star/Fork/语言/许可) https://github.com/samba-team/samba (检索日期 2026-10-26)
  3. Samba 4.11 Release Notes(SMB1 默认禁用) https://www.samba.org/samba/history/samba-4.11.0.html (检索日期 2026-10-26)
  4. Samba Release Planning and Supported Release Lifetime(各系列维护周期与状态) https://wiki.samba.org/index.php/Samba_Release_Planning (检索日期 2026-10-26)
  5. Samba 官方文档主页(smb.conf(5) 等手册) https://www.samba.org/samba/docs/ (检索日期 2026-10-26)
  6. NFSv4.1 协议规范 RFC 8881 https://datatracker.ietf.org/doc/html/rfc8881 (检索日期 2026-10-26)
  7. vsftpd 官方站点 https://security.appspot.com/vsftpd.html (检索日期 2026-10-26)
  8. WebDAV 协议规范 RFC 4918 https://datatracker.ietf.org/doc/html/rfc4918 (检索日期 2026-10-26)
  9. MinIO 官方文档 https://min.io/docs/minio/linux/index.html (检索日期 2026-10-26)