文章目录
- windows系统下的简单共享文件方案👺
- 就近共享
- 设置共享文件夹(推荐)
- 方法1:使用shrpubw程序引导创建
- 方法2:使用图形界面创建
- 右键设置共享文件夹
- 查看所有已经共享的文件夹👺
- 停止某个文件的共享
- 共享文件夹的访问控制补充
- 匿名访问问题😊
- 强制启用匿名访问
- 协议相关信息参考
- 本机外的其他用户访问smb服务器@共享文件夹
windows系统下的简单共享文件方案👺
windows系统下局域网内传输文件的简单方法有2中,其中最简单的是NearBy Sharing(就近共享)
另一种是共享文件夹,更加通用和强大,支持老系统,和非windows系统访问资源
就近共享
支持单个和多个文件共享,配置最简单,但是要求传输文件的机器都是windows10以上的设备,而且不能直接共享文件夹目录,也没法直接点播和预览常见格式,比如视频和音乐等
-
不过,有相关的android软件能够让android设备也支持就近共享
-
NearShare (shortdev.de) 软件体积不小,可以用镜像加速链接后下载,或者论坛下载
-
Setup — NearShare (shortdev.de)
-
实际体验下来还可以,操作简单
- 注意手机端发送比较容易,但是接收需要获取蓝牙Mac地址,您需要先打开手机蓝牙开关(否则地址不可用),然后到系统设置里找到(状态信息里的蓝牙Mac地址);这个地址比较长,您可以截图,然后用ocr识别,或者支持屏幕提取文字的功能也可以直接提取
- 填写后点击下一步即可
-
好处就是配置少,开个开关就行,成功率高,可以用wifi,也可以用蓝牙传输,不要求有路由器
在 Windows 中与附近的设备共享内容 - Microsoft 支持
设置共享文件夹(推荐)
-
官方文档,列举出了问题清单和相应的解决办法和步骤,已经给出了最佳实践,这里补充一些细节(整合其他设置方案)
- 在 Windows 中通过网络共享文件 - Microsoft 支持
- File sharing over a network in Windows - Microsoft Support
方法1:使用shrpubw程序引导创建
-
使用共享文件夹引导程序
shrpubw.exe
,这是一个windows系统自带的一个使用程序- 打开windows命令行,输入
shrpubw.exe
即可启动
- 打开windows命令行,输入
-
shrpubw.exe
是一个在 Microsoft Windows 操作系统中用于帮助用户创建和配置共享文件夹的向导程序。这个可执行文件(.exe)是系统自带的一部分,由 Microsoft Corporation 开发,主要用于简化网络共享设置过程。当用户需要在网络上共享本地计算机上的某个文件夹,以便其他网络用户可以访问时,可以通过运行
shrpubw.exe
启动“创建共享文件夹向导”。该向导提供了图形化界面,引导用户完成以下步骤:- 选择要共享的文件夹路径。
- 设置共享名,即网络上其他用户看到的共享资源的名称。
- 配置共享权限,包括哪些用户或组可以访问此共享,并确定他们的读写权限级别。
-
该引导软件支持它会更改防火墙使得共享文件夹能够生效(通常不需要我们自己再去设置防火墙)
-
总的来说这是个很方便的程序,但是注意,windows为了安全,匿名访问可能是不被允许的,如果需要匿名,可能要改注册表策略组等,我的建议是创建一个名为smb的用户专门用来访问共享文件夹就可以了(不需要登录该用户桌面),既安全又高效,如果要匿名的体验,可以把密码设置简单点即可
方法2:使用图形界面创建
-
配置网络(由多种方式,任选一种即可)
-
命令行方式
-
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes netsh advfirewall firewall set rule group="Network Discovery" new enable=Yes
-
以管理员方式启动cmd(或powershell)运行上述命令(回车执行)
-
PS C:\Users\cxxu\Desktop> netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes Updated 48 rule(s). Ok. PS C:\Users\cxxu\Desktop> netsh advfirewall firewall set rule group="Network Discovery" new enable=Yes Updated 62 rule(s). Ok.
-
-
-
使用图形界面方式配置
-
windows11下的设备可扫描设置 windows10下的设置
-
-
如此局域网内的其他设备才能够扫描到当前设备,并且当前设备的文件或目录能够被其他设备访问
-
-
选择文件或文件夹进行共享
-
打开资源管理器,右键进行共享设置
-
包括选择哪些用户能够访问被共享的文件或目录
-
为了安全考虑,windows逐渐禁止匿名访问smb服务,对于较新的系统,即使在设置网络中允许免密访问共享文件夹(文件),但是仍然需要登录某个账户才可以访问(来宾(Guest)匿名不再能轻易访问共享文件夹)
-
这里建议创建一个专门共享文件的账户,来供其他设备验证身份来访问本机的提供的共享文件价
-
新建的用户可以是普通用户,我们甚至不需要登录这个用户,例如设置本地用户
smb_share
,密码随意,不介意安全性时尽可能简单,毕竟在可信的局域网内,默认是安全的,特别是真个局域网只有自己用,自己用来传输文件,我们甚至不需要创建这个新用户,直接用已有的账户登录就行 -
创建新用户:命令行中或者win+r输入:
lusrmgr.msc
启动新用户创建面板-
普通的通用界面创建新用户 设置共享文件夹时在选择授权用户时会提供创建新用户的入口 步骤简单 设置步骤较多 -
此外,也可以用命令行创建新用户,对于仅仅用于公开访问的凭证用途的用户,可以执行一下命令直接创建一个普通用户
-
net user smb 1 /add
该用户名为
smb
,密码为1
-
删除:
net user smb /delete
,这会删除smb
这个用户
-
-
-
创建新用户的相关参考:
- Local Users and Groups | Microsoft Learn
- Net user | Microsoft Learn
- windows@添加本地用户账户等操作
-
-
右键设置共享文件夹
-
可以指定对那些人共享(进入设置可以允许任何用户访问,但是不保证匿名访问可行,可能需要进一步设置)
- 对于启用了SMB1功能的及其可能默认允许匿名访问
查看所有已经共享的文件夹👺
-
有如下方式可以检查
- 在资源管理器中的地址栏输入
\\localhost
- 或者命令行中输入
start \\localhost
- 在资源管理器中的地址栏输入
-
也可以使用命令行查看(这种方法不再维护)
-
PS> net share Share name Resource Remark ------------------------------------------------------------------------------- IPC$ Remote IPC share C:\share ColorfulCxxuShare The command completed successfully.
-
停止某个文件的共享
-
方法1:图形界面操作
-
右键目标文件夹,选择高级设置,将取消勾选分享次文件夹(share this folder);把保存修改即可
-
-
方法2:从资源管理器中找到目标文件夹,右键更改访问权限,选择移除访问权限(remove access),但是不一定所有文件夹都能找到移除按钮
共享文件夹的访问控制补充
匿名访问问题😊
免登录访问共享文件夹问题
-
SMB2 和 SMB3 中的来宾访问被禁用 - Windows Server | Microsoft Learn
- SMB1默认支持匿名访问,对于较新系统,需要到控制面板中启动相关windows功能
- 仅当需要兼容老设备或者实在想要匿名登录时考虑这么做(todo)
- 新系统配置匿名smb访问比较麻烦,我们可以建立一个简单的windows用户(账号密码很短)来逼近匿名访问的体验
- 事实上,smb协议的客户端通常由保存链接记录的功能,只要设置一次,后续就不需要输入账号密码,如果是一个人或很少人用,就更不用纠结了,配置一次就不需要再输入账号密码了(顶多smb服务器ip发生变换,但如果真的需要改ip无论是否匿名访问都要改,并不会造成更多麻烦,而且提高了一定的安全性)
- SMB1默认支持匿名访问,对于较新系统,需要到控制面板中启动相关windows功能
强制启用匿名访问
-
以下设置可能是无效的
-
修改策略组
-
或命令行修改注册表
-
PS C:\Users\cxxu\Desktop> reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v "AllowInsecureGuestAuth" /d 1 /t REG_DWORD The operation completed successfully. PS C:\Users\cxxu\Desktop> reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters EnablePlainTextPassword REG_DWORD 0x0 EnableSecuritySignature REG_DWORD 0x1 RequireSecuritySignature REG_DWORD 0x0 ServiceDll REG_EXPAND_SZ %SystemRoot%\System32\wkssvc.dll ServiceDllUnloadOnStop REG_DWORD 0x1 AllowInsecureGuestAuth REG_DWORD 0x1
-
-
-
可以考虑启用smb v1,似乎可以匿名访问,但不建议使用,可以简单创建一个专门访问共享文件夹的简单用户即可
协议相关信息参考
- 使用 Windows Server 中的 SMB 3 协议的文件共享概述 | Microsoft Learn
本机外的其他用户访问smb服务器@共享文件夹
-
对于windows系统,访问共享文件夹(smb服务器,不需要写协议名,直接用
\\
代替表示smb协议) -
可以按下win+r启动"运行"窗口(Run),输入
\\ip\FolderName
格式的链接回车运行