Windows不支持原生“用户组+特定IP”绑定,但可通过共享权限、NTFS权限和Windows防火墙三层配合实现:先按组授权访问,再用防火墙限制SMB端口(445/139)仅允许可信IP入站,并禁用默认SMB入站规则。
windows 本身不支持“用户组 + 特定 ip”组合式权限的原生绑定(即不能在共享设置里直接写“只有 sales 组且来自 192.168.1.100 的用户才能访问”)。但可以通过共享权限 + ntfs 权限 + 网络层访问控制三层配合,实现等效效果:特定用户组能访问,但仅当其请求来自指定 ip 或网段时才真正通路。
第一步:设置基础共享与 NTFS 权限(按用户组授权)
这是访问控制的起点,确保只有目标用户组有权限:
- 右键共享文件夹 → “属性” → “共享”选项卡 → 点击“高级共享” → 勾选“共享此文件夹” → 点击“权限”
- 移除“Everyone”,点击“添加” → 输入目标用户组名(如 Sales)→ 设置为“读取”或“更改” → 确定
- 切换到“安全”选项卡 → 确保该用户组也拥有对应 NTFS 权限(建议与共享权限一致,例如“读取和执行”“列出文件夹内容”“读取”)
- 若使用域环境,务必确认该组是域安全组(而非本地组),且客户端以域用户身份登录
第二步:用 Windows 防火墙限制 SMB 端口仅对指定 IP 开放
这是实现“仅特定 IP 可访问”的关键。SMB 协议主要依赖 TCP 端口 445(Win10/Server 2016+ 默认),部分旧设备可能还需 139。防火墙规则必须作用于入站连接:
- 按 Win+R 输入
wf.msc打开“高级安全 Windows 防火墙” - 左侧选“入站规则”,右侧点“新建规则…” → 选择“端口” → 下一步
- 协议选“TCP”,特定本地端口填 445(可再单独建一条规则加 139)→ 下一步
- 操作选“允许连接” → 下一步
- 配置“作用域”:
- “远程 IP 地址” → 选“下列 IP 地址” → 点“添加…” → 输入允许的单个 IP(如 192.168.1.50)或 IP 范围(如 192.168.1.100-192.168.1.199)或子网(如 192.168.1.0/24)
- “本地 IP 地址”保持默认(适用所有)
- 配置配置文件(域、专用、公用)→ 全部勾选 → 输入名称,如“允许 Sales 组 IP 访问 SMB” → 完成
第三步:禁用默认 SMB 入站规则(防止绕过)
系统自带的“文件和打印机共享(SMB-In)”规则默认允许任意 IP,必须禁用或修改它:
- 在“入站规则”列表中找到名称含 SMB-In 或 文件和打印机共享 的规则
- 右键 → “属性” → “常规”选项卡 → 将“已启用”改为 否
- 或者双击打开 → 切换到“作用域” → 将“远程 IP 地址”改为“任何 IP 地址”以外的范围(如留空或设为无效地址),再禁用它
- 确保你自建的那条“只允许可信 IP”的规则状态为“已启用”,且优先级高于被禁用的默认规则
补充说明与注意事项
这个方案实际是“网络层过滤 + 身份层授权”的组合:
- 防火墙先拦住非授权 IP 的所有 SMB 连接请求(连握手都失败),用户根本看不到共享列表
- 只有来自白名单 IP 的请求能抵达系统,此时才校验用户是否属于 Sales 组、密码是否正确、NTFS 权限是否匹配
- 无需启用 IPsec 或组策略中的 IP 安全策略(操作复杂、兼容性差、Win10 家庭版不支持)
- 若需支持移动设备或 DHCP 动态 IP,建议将允许范围设为子网(如 192.168.1.0/24),而非单个 IP
- 测试时请从目标 IP 的电脑上用
\服务器IP共享名直接访问,避免用“网络”发现方式(可能受其他服务影响)

















