一个可以跨平台共享的网络文件夹

SMB 作为Windows自带的网络传输协议,主要用于局域网资源共享,主流操作系统亦对其有较好的实现和支持;作为一个设计用于「局域网」的网络协议,这表明该协议工作于「专用网络」,即常见办公网/家用网等私有/封闭的网络环境,同时也意味着:该协议不适于在「公共网络」等复杂且不安全的网络环境使用「尤其是该协议的早期版本」;如果一定要在「公共网络」中进行共享,请尽量借助其它「底层协议」或「恰当设计」以实现安全、高效地传输数据,通常情况下,在带有「隧道安全」的虚拟专网网络中使用不失为一种好的选择。

合适的网络类型

Windows 自带两套不同的网络类型,对应不同的防火墙安全策略:公共网络 / 专用网络,使用「专用网络」模板意味着当前网络是可以进行共享的。关于两种不同网络配置的详细操作

专用网络模板

修改网络配置 - 针对 Windows Desktop

设置 - 网络和Internet
网络属性
网络配置文件 - 专用

针对 Windows Server

针对Server版取消了上图的网络配置选项卡「Windows Server 2012」,但可以通过「本地安全策略」进行修改

找到需要「共享」的网络,如果有多个请仔细辨别之

早期版本的Windows 会有「家用网络」这一选项,此处可简单归集为「专用网络」,默认支持网络发现及网络共享。

启用共享

属性
共享此文件夹

管理员用户组「Administrator」下的用户,默认拥有对该文件的访问权,如果局域网内都是可信设备,可以直接使用 自己的账户 进行访问。

「开放」共享

新版 Windows 似乎不太情愿用户以开放的形式共享自己的数据

更改高级共享设置
允许 无密码保护的共享

从共享的对象出发,做不同的配置:

磁盘 / 分区

设置权限,增加 Everyone1 访问

文件夹

在上述 磁盘 / 分区 操作的基础上,给 Everyone 配置适当的权限

安全选项卡
添加权限条目
选择用户 / 用户组「Everyone 代表一组用户」
直接输入 Everyone 用户组并检索
给权限
Everyone 赋权完成

列出已共享的内容

运行 → 「compmgmt.msc」计算机管理

测试

Windows

\\共享盘网络地址
就绪

iPad OS

自 13 developer beta 2 开始支持SMB协议,但是使用起来经常有奇奇怪怪的提示

Apple 连接电脑或文件服务器

连接服务器
输入IP「不需要前缀smb://」
Guest用户,测试开放共享是否生效
就绪

经测试,「连接服务器」功能可以和 iPad OS 自带的 IKEv2 客户端联动,实现远程共享。

容易遇到的问题

明明已经设置为开放共享了,为什么使用Windows客户端连接时依然提示需要用户名和密码?

有一种情况是:客户端使用了和服务端同一名称的用户,比如:Administrator,这个用户名默认带有密码,因而登录时你只能输入密码,建议 服务端 不要使用Administrator作为默认用户名已避免系统想不开,如果已经默认为Administrator了,也可以二次修改

“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。”

开放共享的情况下还是需要允许来宾访问「部分操作系统版本」,部分防病毒软件/安全卫士可能会更改此策略;出于安全起见,必要时可允许来宾访问

启用不安全的来宾登录「服务端」

此策略设置确定 SMB 客户端是否允许在 SMB 服务器上进行不安全的来宾登录。

如果你启用此策略设置或者未配置此策略设置,SMB 客户端将允许不安全的来宾登录。

如果你禁用此策略设置,SMB 客户端将拒绝不安全的来宾登录。

文件服务器使用不安全的来宾登录来允许对共享文件夹进行未经身份验证的访问。尽管在企业环境中不太常见,但充当文件服务器的消费型网络附加存储(NAS)设备经常使用不安全的来宾登录。默认情况下,Windows 文件服务器要求身份验证并且不会使用不安全的来宾登录。由于不安全的来宾登录未经过身份验证,重要的安全功能(例如 SMB 签名和 SMB 加密)将被禁用。因此,允许不安全的来宾登录的客户端很容易受到各种中间人攻击,从而导致数据丢失、数据损坏和遭受恶意软件的攻击。此外,可能网络上的任何人都可以访问写入到使用不安全来宾登录的文件服务器中的任何数据。Microsoft 建议禁用不安全的来宾登录,并将文件服务器配置为要求经过身份验证的访问。

网络正常,其它计算机就是无法找到共享的内容

如果实在找不到原因,尝试检查并适当关闭某些反病毒软件中与「局域网防护」相关的功能

扩展阅读

File Server and SMB

Windows系统安全原理与技术「更好地理解用户和组」

Microsoft SMB, SMB2, NetBIOS, WINS protocol suite

SMBv1 is not installed by default in Windows 10 version 1709, Windows Server version 1709 and later versions