目录
- 什么是 CIFS?它与 SMB 的关系是什么?
- Windows 如何提供 CIFS/SMB 服务?(核心:文件共享)
- 详细配置步骤:创建和管理共享文件夹
- 高级配置与安全最佳实践
- 客户端如何访问 Windows CIFS 服务器?
- 常见问题与故障排查
什么是 CIFS?它与 SMB 的关系是什么?
这是一个非常常见的混淆点。

-
SMB (Server Message Block):是一种网络文件共享协议,它允许客户端计算机在网络上请求服务器上的文件、打印机、串行端口等资源,SMB 是协议的总称。
-
CIFS (Common Internet File System):是 SMB 协议的一个特定版本和扩展,由微软在 1990 年代中期提出,旨在为互联网上的文件共享提供更好的性能和标准化,你可以把 CIFS 看作是 SMB 协议的一个“超集”或“微软主导的方言”。
CIFS 是 SMB 的一个实现版本,在 Windows 环境中,我们谈论的文件共享服务,其底层协议就是 SMB,而 CIFS 是这个协议在 Windows 服务器上的一个常用别称。
(图片来源网络,侵删)
在现代 Windows 版本(如 Windows Server 2008 R2 及以后,Windows 10/11)中,微软已经将协议名称统一为 SMB,并且版本迭代到了 SMB 3.x,SMB 3.0 引入了许多强大的功能,如加密、持续可用性、多通道等,性能和安全性远超传统的 CIFS/SMB 1.0。
重要提示: 出于安全考虑,强烈建议禁用 SMB 1.0/CIFS,因为它存在多个已知漏洞(如 EternalBlue),默认情况下,现代 Windows 系统已经将其禁用。
Windows 如何提供 CIFS/SMB 服务?(核心:文件共享)
在 Windows 中,提供 CIFS/SMB 共享功能的核心角色是 “文件服务” 角色,这个角色包含了多个子角色和功能,其中最核心的就是 “文件服务器”。
当你安装并配置了“文件服务”角色后,你的 Windows 服务器就变成了一个 CIFS/SMB 服务器,能够向网络中的其他设备(Windows、macOS、Linux 等)共享文件夹。

详细配置步骤:创建和管理共享文件夹
这里以 Windows Server 2025/2025 为例,界面在 Windows 10/11 的“专业版”或“企业版”中类似。
安装“文件服务”角色
- 打开 服务器管理器。
- 点击 “添加角色和功能”。
- 在“开始之前”页面,点击 “下一步”。
- 选择 “基于角色或功能的安装”,点击 “下一步”。
- 选择目标服务器,点击 “下一步”。
- 在 “服务器角色” 列表中,找到并勾选 “文件和存储服务”。
- 在弹出的“添加角色和功能向导”中,点击 “添加功能”,然后点击 “下一步”。
- 在 “功能” 页面,通常无需额外操作,直接点击 “下一步”。
- 在 “文件和存储服务” 的子角色列表中,确保勾选了 “文件服务器”。
- 查看摘要信息,确认无误后,点击 “安装”。
- 等待安装完成,点击 “关闭”。
创建共享文件夹
有两种主要方式:通过“服务器管理器”图形界面(推荐新手)和通过命令行。
使用服务器管理器(图形界面)
- 在服务器管理器中,点击 “工具” -> “计算机管理”。
- 在“计算机管理”窗口中,展开 “服务和应用程序” -> “共享”。
- 在右侧的“操作”窗格中,点击 “共享...”。
- 在“文件共享”向导中,点击 “下一步”。
- 点击 “浏览”,选择你想要共享的文件夹路径(
D:\SharedData),你也可以在这里直接输入路径,或者点击“新建文件夹”创建一个新的共享文件夹。 - 选择文件夹后,点击 “下一步”。
- 在 “权限” 页面,你可以设置共享权限。
- 同时:多个用户可以同时访问同一文件。
- 每个人:所有认证用户都可以访问。
- 自定义:手动选择特定用户或组。
- 建议:在这里只授予“读取”或“更改”权限,更精细的权限控制应该在 NTFS 权限中设置。
- 点击 “下一步”,为共享命名(
SalesData),并可以添加一个描述。 - 点击 “完成”,你的文件夹已经成功共享。
使用 PowerShell(命令行,更灵活高效)
-
以管理员身份打开 PowerShell。
-
使用
New-SmbSharecmdlet。# 示例:共享 D:\SharedData 文件夹,共享名为 "MyShare",只允许 "Everyone" 组读取 New-SmbShare -Name "MyShare" -Path "D:\SharedData" -Description "This is a shared folder" -ChangeAccess Everyone -ReadAccess Everyone
-Name: 共享名称(客户端访问时使用的名称)。-Path: 要共享的本地文件夹路径。-FullAccess: 完全控制权限。-ChangeAccess: 读取和修改权限。-ReadAccess: 只读权限。
高级配置与安全最佳实践
仅仅创建共享是不够的,安全配置至关重要。
NTFS 权限 vs. 共享权限
这是 Windows 文件共享中最核心的概念,必须理解:
- 共享权限:控制用户通过网络连接到共享文件夹的权限,只有“读取”、“更改”和“完全控制”三个级别。
- NTFS 权限:控制用户对文件或文件夹的实际访问权限,无论通过网络还是本地登录,NTFS 权限非常精细,可以控制读取、写入、删除、修改属性等。
权限的累加与取 restrictive (累加取严):
- 一个用户通过两种方式获得的权限是累加的。
- 但最终生效的权限是两者中更严格的那个。
最佳实践:
- 将共享权限设置为“Everyone”或“Authenticated Users”的“完全控制”,这相当于“开门”,让所有有权限的人都能进来。
- 通过 NTFS 权限来精确控制每个用户或组能做什么,这相当于在房间里规定谁能坐沙发,谁能坐椅子,NTFS 权限是最终的决定者。
禁用 SMB 1.0/CIFS
这是必须执行的安全措施。
-
通过 PowerShell(推荐):
# 查看当前 SMB 协议状态 Get-SmbServerConfiguration | Select-Object EnableSMB1Protocol # 禁用 SMB 1.0 Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
-
通过图形界面:
- 在“控制面板” -> “程序” -> “启用或关闭 Windows 功能”中。
- 取消勾选 “SMB 1.0/CIFS 文件共享支持”。
- 重启计算机使设置生效。
启用 SMB 加密
为了防止数据在传输过程中被窃听,强烈建议启用 SMB 加密(SMB 3.0+ 功能)。
- 通过 PowerShell:
# 启用 SMB 加密 Set-SmbServerConfiguration -EncryptData $true -Force
使用“共享和访问模型”
在“计算机管理” -> “共享” -> “共享”上右键,选择“属性”,可以设置“共享和访问模型”:
- 多用户:默认模型,所有认证用户都可以访问。
- 访问基于:只有指定的用户或组才能访问,这是更安全的做法。
客户端如何访问 Windows CIFS 服务器?
Windows 客户端
- 文件资源管理器:
- 在地址栏输入:
\\<服务器IP地址>或\\<服务器计算机名>。 \\192.168.1.100或\\FILESERVER01。
- 在地址栏输入:
- 映射网络驱动器:
- 右键点击“此电脑” -> “映射网络驱动器”。
- 选择一个盘符(如 Z:),输入共享路径(
\\FILESERVER01\MyShare)。 - 勾选“使用其他凭据”可以以不同用户身份访问。
macOS 客户端
- 打开“访达”(Finder)。
- 点击菜单栏的“前往” -> “连接服务器”。
- 输入
smb://<服务器IP地址>/<共享名称>。 smb://192.168.1.100/MyShare。- 输入有效的用户名和密码。
Linux 客户端
- 安装客户端工具(如果未安装):
- Debian/Ubuntu:
sudo apt update && sudo apt install cifs-utils - CentOS/RHEL:
sudo yum install cifs-utils
- Debian/Ubuntu:
- 创建挂载点:
sudo mkdir /mnt/share - 挂载共享:
- 临时挂载:
sudo mount -t cifs //<服务器IP>/<共享名称> /mnt/share -o username=your_user,password=your_pass,domain=your_domain
- 永久挂载(推荐):编辑
/etc/fstab文件,添加以下行://<服务器IP>/<共享名称> /mnt/share cifs username=your_user,password=your_pass,domain=your_domain,iocharset=utf8,vers=3.0 0 0vers=3.0: 指定 SMB 协议版本,推荐使用 3.0 或更高。- 注意:直接在
fstab中写密码不安全,建议使用credentials文件。
- 临时挂载:
常见问题与故障排查
问题 1:无法访问,提示“找不到网络路径”或“拒绝访问”。
- 排查步骤:
- 网络连通性:在客户端
ping <服务器IP>和ping <服务器计算机名>,看是否能通。 - 防火墙:检查服务器和客户端的防火墙是否阻止了 SMB 相关端口(TCP/UDP 445)。
- 服务状态:确保服务器上的“Server”服务(Server Workstation)正在运行。
- 权限:检查共享权限和 NTFS 权限是否正确配置。
- 凭据:确保输入的用户名和密码正确,并且该用户有访问权限。
- 网络连通性:在客户端
问题 2:客户端无法看到服务器。
- 排查步骤:
- 网络发现:确保服务器和客户端在同一个工作组或域中。
- 网络配置:确保“网络发现”和“文件和打印机共享”在客户端和服务器都已启用(在“网络和共享中心”中设置)。
- 主机文件:检查客户端的
C:\Windows\System32\drivers\etc\hosts文件,是否有正确的服务器 IP 映射。
问题 3:连接速度慢。
- 排查步骤:
- 禁用 SMB 1.0:这是最常见的原因,SMB 1.0 性能极差且不安全。
- 启用 SMB 加密:如果启用了加密,性能会有轻微下降,但安全性大大提升,如果不加密,确保在内网安全环境中。
- 检查网络:排查网络带宽、交换机端口等问题。
希望这份详细的指南能帮助你全面理解和使用 Windows CIFS 服务器!

