如何在 Windows 中设置网络文件共享

在本地区域网络(LAN)中有多台计算机时,您可能需要通过网络使存储在一台计算机上的文件在另一台计算机上可访问。在这种情况下,您可以使用SMB协议在Windows中共享文件夹。请注意,在Windows版本7、8和11中共享文件夹的工作流程相同。

准备Windows 10数据共享

在我们创建共享文件夹并配置访问之前,让我们简要地了解主要步骤:

  • 启用文件和打印机共享;确保防火墙不会阻止SMB连接。
  • 定义必须访问的用户,并在需要时创建用户帐户。
  • 共享文件夹并在SMB协议级别和文件系统级别设置权限。
  • 从网络上的另一台计算机访问共享文件夹。
  • 将共享文件夹映射为网络驱动器,并根据需要配置其他设置。

需求

共享文件夹的要求是:

  • NTFS是推荐的文件系统。FAT32在设置权限时存在限制(在使用FAT32时,文件夹属性中缺少“安全”选项卡)。
  • 必须打开TCP端口445、139、138和137。
  • 您的用户帐户必须具有足够的Windows权限以更改文件夹属性。

设置

在本步骤中,我们将使用Windows 10专业版(版本19042):

  • 计算机名称:Computer10
  • IP地址:192.168.101.212
  • 所有计算机都位于同一子网(192.168.101.0/24)。
  • 所有计算机都不是Active Directory域的成员,网络类型被归类为工作组。

调整Windows 10上的网络设置

首先,我们需要在Windows 10网络设置中启用文件和打印机共享。这些设置与防火墙配置有关。

  1. 前往

    控制面板 > 网络和Internet > 网络和共享中心

    或者

    控制面板 > 所有控制面板项目 > 网络和共享中心

    或者,您可以使用以下命令打开此窗口:

    control /name Microsoft.NetworkAndSharingCenter

  2. 点击左侧窗格中的更改高级共享设置。作为替代方案,您可以使用以下命令:

    control.exe /name Microsoft.NetworkAndSharingCenter /page Advanced

  3. 我们在高级共享设置页面上,其中包含网络配置文件和所有网络的设置(请参见下方的截图)。

    网络配置文件是Windows中针对网络连接的具有特殊安全性、防火墙和网络共享设置的预设。

    Windows 10中的网络配置文件可以是私有公共(如果计算机是域成员)。网络配置文件必须是私有才能在Windows 10及更新版本中共享文件夹。如果您需要更改网络配置文件,请阅读本节末尾的说明。

  4. 选择您的私人资料,必须是当前资料,并选择以下选项:
    • 打开网络发现
    • 打开文件和打印机共享

    设置这些选项后,网络中的其他计算机可以ping您的计算机并访问共享文件夹。

  5. 在充当SMB服务器和充当SMB客户端的Windows上配置上述设置。
    • SMB服务器是共享文件夹的计算机。
    • SMB客户端是通过网络连接到SMB共享的计算机。

如何更改网络资料

按照以下步骤更改Windows 10中的网络资料,并准备设置网络共享。

  1. 单击开始>设置>网络和Internet
  2. 选择您的网络适配器,然后点击 属性

  3. 在打开的窗口中选择所需的网络配置文件(在这种情况下选择 私人)。

创建文件共享用户

将您的Windows用户帐户的凭据提供给其他人不是一个好主意。根据最佳实践,建议您在Windows 10中创建特殊的用户帐户,并为这些帐户设置所需的访问级别以共享文件夹。在Windows 10专业版中,有各种设置来创建用户和组。

  1. 右键单击 我的电脑此 PC 图标,然后单击上下文菜单中的 管理。您也可以通过在命令行(CMD)中运行以下命令来打开此窗口:compmgmt.msc

  2. 计算机管理窗口的左窗格中,单击本地用户和组,然后选择用户。右键单击用户,然后选择新建用户以创建新用户。

  3. 输入用户名,设置密码,并选择帐户选项。

    我们在这里创建用户11用户12用户13用户14。默认情况下,这些用户是用户组的成员。

创建一个组

为了与多个用户共享具有相同权限的文件夹,这些用户必须使用不同的凭据,更方便的做法是创建一个组,将需要的用户添加到该组,并与该组共享文件夹。

  1. 前往 本地用户和组计算机管理 窗口。右键单击 (或组窗格中的空白处),然后在上下文菜单中单击 新建组

  2. 输入组名称,例如,sharegroup1。单击 添加 来添加用户到该组(见下图)。

    我们将三个之前创建的用户添加到该组中 – user11user12,和 user13

  3. 输入用户名并单击 检查名称。如果用户名正确,则完整的用户名以 计算机名\用户名 的格式显示为下划线。您可以使用分号并在键入用户名后通过选中每个用户名来在该窗口中添加多个用户。完成后,单击 确定 完成添加用户并关闭此窗口。
  4. 单击 创建 完成创建组并准备设置网络共享。

所有准备工作已完成。网络设置已配置,用户和组已创建。现在我们可以在Windows 10中共享文件夹。

如何在Windows中共享文件夹

要在Windows 7、8、10或11中共享文件夹,请按照以下步骤进行:

  1. 右键单击要共享的文件夹(在本示例中,文件夹为share01)。然后在上下文菜单中单击属性

  2. 打开文件夹属性窗口。
  3. 选择共享选项卡,然后单击高级共享。根据Windows共享最佳实践,建议您使用高级共享设置而不是使用共享按钮进行简单共享。高级共享设置为Windows 10数据共享(以及其他Windows版本)提供了最大的灵活性。
  4. 高级共享窗口中,选中共享此文件夹复选框。
  5. 输入/编辑共享名称(在我们的案例中为share01)。
  6. 单击权限以设置用户和组的SMB级权限。
  7. 默认情况下,每个人被授予只读访问权限。这不是我们想要的配置。选择每个人并点击移除

    注意:如果在共享权限中选择了每个人,则在配置了共享权限后,在下面解释的安全选项卡的NTFS安全权限中可以进行限制。

    点击添加以添加所需的用户或组,与其共享文件夹。

  8. 选择用户或组。输入组名或用户名,然后单击 检查名称。如果您输入的名称正确,用户或组名称将被下划线标出,并以 计算机名\用户名 格式显示。我们添加了 sharegroup1user14 来共享一个文件夹给他们。单击 确定 保存设置并关闭窗口。

  9. 我们回到了文件夹 权限 窗口。让我们为我们添加的组和用户设置权限。我们选择 sharegroup1 并单击 完全控制 来授予该组完全访问权限,包括 user11user12user13,他们都是该组的成员。我们选择 user14,他不是 sharegroup1 的成员,并保持 读取 权限不变。单击 确定 保存设置并关闭窗口。

  10. 我们回到了文件夹属性窗口。选择 安全 选项卡,然后单击 编辑
  11. 权限窗口(文件系统权限)打开所选文件夹。单击添加以添加组或用户来设置权限。
  12. 输入用户或组的名称,单击检查名称,然后单击添加。我们在示例中添加sharegroup1user14

  13. 返回共享文件夹的权限窗口,我们选择sharegroup1并选择完全控制以授予对此文件夹的完全访问权限。我们还选择user14并保留只读访问的默认权限。单击确定保存设置,关闭权限窗口,然后返回文件夹属性窗口。
  14. 您可以在文件夹属性窗口的安全选项卡中查看用户的权限列表。单击关闭

  15. 共享文件夹的网络路径显示在文件夹属性窗口中。请记住,如果使用计算机名称输入路径不起作用,您可以使用IP地址。您可以点击确定并关闭此窗口。

  16. 文件夹已成功共享。尝试从另一台计算机访问共享文件夹。我们在本文中解释了如何访问文件共享

注意:我们使用高级共享而不是简单共享,因为简单共享的配置选项有限。在下面的截图中,您可以看到我们通过SMB配置Windows 10数据共享后简单共享设置的外观。此外,使用高级共享设置可以更好地理解如何在Windows 10中共享文件夹和一般文件共享原则。

替代共享方法

在Windows 7、8、10或11中共享文件夹的另一种方法是使用共享文件夹快捷方式fsmgmt.msc。您还可以按照以下步骤找到此快捷方式:

  1. 右键单击我的电脑并点击管理
  2. 计算机管理窗口中,转到系统工具>共享文件夹
  3. 右键单击共享,在上下文菜单中点击新共享
  4. 按照直观的向导配置所需选项,就像我们之前所做的那样。

您还可以在此管理器中检查共享文件夹、已打开的会话和已打开的文件,以及管理现有共享并禁用文件共享。

连接到共享文件夹

要从网络上的 Windows 10 计算机连接到共享文件夹,请执行以下操作:

  1. 打开我的电脑(此电脑)或在 Windows 资源管理器中打开一个新窗口。
  2. 输入共享文件夹所在机器的 IP 地址或主机名(DNS 名)。例如:
    • \\192.168.101.212
    • \\Computer10

    您可以输入共享文件夹的完整网络路径,也称为 UNC 路径,例如:

    • \\192.168.101.212\share01
    • \\Computer10\share01

    这种方法很有用,因为有时无法在远程 SMB 服务器上浏览共享文件夹列表。

如何在Windows 10中映射网络驱动器

我们已经解释了如何以一般方式访问Windows 10中的共享文件夹。为了更方便,您可以将远程共享文件夹映射为网络驱动器,该驱动器将永久显示在Windows资源管理器中(直到您删除此驱动器)。此方法也适用于其他Windows版本。

  1. 在访问具有共享文件夹的远程计算机后,右键单击共享文件夹。
  2. 单击映射网络驱动器
  3. 为网络驱动器选择一个字母,选择登录时重新连接,然后完成。

如何在没有密码的情况下连接到共享文件夹

默认情况下,所有共享文件夹都受特定用户的密码保护。但是,有一种安全的方法让用户无需每次输入密码即可从其Windows计算机访问共享文件夹。条件如下:

  • 存储共享文件夹的计算机上的用户名必须与远程计算机上连接到共享文件夹的用户的用户名相同。
  • 此用户帐户的密码必须在充当SMB服务器和SMB客户端的两台Windows计算机上相同。
  • 用户必须登录到Windows(SMB客户端),其账户名称和密码与共享文件夹所在的Windows上的相同。

让我们用一个例子来说明这一点。例如,我们有两台计算机:

计算机1参数:

  • 计算机名称:计算机1
  • 用户名:用户1
  • 用户密码:密码1

计算机2参数:

  • 计算机名称:计算机2
  • 用户名:用户1
  • 用户密码:密码1

计算机1上创建用户1,并在计算机2上创建用户1。在计算机1上,用户1的密码必须与计算机2上的用户1的密码相同(在本例中为密码1)。

完成此配置后,用户1可以从计算机2访问计算机1上的共享文件夹,而无需输入密码,但连接受密码保护。用户必须以用户1的身份登录到计算机2上的Windows。当用户需要访问共享文件夹而无需输入密码时,此方法被归类为最佳实践。

连接而不使用密码的风险

默认情况下,远程计算机上的用户如果不输入密码或其帐户没有密码,则无法访问文件共享。 这是出于安全原因。 但是,您可以配置Windows共享文件夹以在没有密码的情况下访问它们。 请注意,设置无密码的网络共享不安全,并对您的数据具有高风险。

以下信息仅供教育目的,因为这些设置违反了Windows文件共享的最佳实践,不应使用。 如果您在访问文件共享时不想输入密码,请选择上述相同密码的用户帐户的方法。 即使您本地网络中的所有用户都是受信任的用户,某人也可以非法访问您的网络,例如,通过Wi-Fi连接到网络并访问您的数据。

以下是使连接到文件共享无需密码的设置。

高级共享设置 > 所有网络中,您可以看到两个启用无需密码访问的选项:

  • 启用共享,以便任何具有网络访问权限的人可以读取和写入公共文件夹中的文件
  • 关闭密码保护的共享

除此之外,还有一个负责在没有密码的情况下访问共享文件夹的组策略。

您可以在组策略编辑器(gpedit.msc)中找到此策略。Windows 设置 > 安全设置 > 本地策略 > 安全选项。该策略名称为:网络访问:让每个人的权限适用于匿名用户

如果启用了此策略,则用户可以在不输入密码的情况下访问 Windows 共享文件夹。

什么是访客用户?

访客 是具有有限特权的内置 Windows 用户,可用于访问 Windows 计算机上的特定资源。访客用户帐户可以在文件共享和提供对共享文件夹的匿名访问方面发挥作用。启用对共享文件夹的匿名访问后,用户可以作为访客用户访问适当的共享文件夹而无需输入凭据。

使用访客用户帐户启用对共享文件夹的匿名访问会扩大攻击面。恶意行为者或未经授权的用户可以尝试利用访客用户帐户或文件共享配置中的漏洞,以获取对系统或敏感数据的未经授权访问。

出于安全原因,默认情况下,访客 已禁用。

如何在 Windows 10 上添加访客

在 Windows 10 的 10159 版本及更新版本中无法启用或创建访客帐户,因为 Microsoft 删除了此选项。您只能创建一个标准的本地用户帐户,并手动设置权限,但不能像在 Windows 7、Windows XP 和早期版本中那样创建特殊的访客帐户(甚至无法在命令行和通过编辑组策略中完成此操作)。

如何在Windows 10中启用SMB 1.0

Windows 10默认使用SMB 3.1来共享文件夹(SMB服务器)并访问远程计算机上的共享文件夹(SMB客户端)。例如,如果您在Windows 10中共享文件夹并尝试从Windows XP连接到此共享文件夹,则会出现错误,因为Windows XP使用SMB 1.0,并且出于安全原因,Windows 10默认情况下禁用了SMB 1.0。

注意:勒索软件(例如WannaCry和NotPetya)使用与SMB 1.0协议漏洞相关的EternalBlue和EternalRomance漏洞来攻击计算机并损坏数据。之后,微软发布了针对从Windows XP开始的所有Windows操作系统的安全补丁。还有用于勒索软件的SMB v1协议的EternalChampion、EternalSynergy和EternalRocks漏洞利用。

了解更多关于CIFS和其他SMB版本的信息,并了解SMB和NFS之间的区别

您可以使用以下列出的PowerShell命令检查Windows中是否启用了适当版本的SMB协议。

  • 检查Windows 10和Windows 8.1上是否启用了SMB v1:

    Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

    Dism /online /Get-Features /format:table | find "SMB1Protocol"

  • 检查 Windows 10 和 Windows 8.1 上 SMB v2 是否已启用:

    Get-SmbServerConfiguration | Select EnableSMB2Protocol

  • 检查 Windows 7 上 SMB v1 是否已启用

    Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

  • 检查 Windows 7 上 SMB v2 是否已启用

    Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

    如果命令输出中返回True,则表示当前 SMB 协议版本已启用。

  • 通过单个命令检查 SMBv1 和 SMBv2 是否已启用:

    Get-SmbServerConfiguration | select "*enablesmb*"

要在Windows 10中为SMB服务器或客户端启用SMB 1.0,请执行以下操作:

  1. 转到控制面板 > 程序和功能。或者,您可以按Win+R并在运行提示中运行appwiz.cpl或在命令行(CMD)中运行appwiz.cpl
  2. 在左窗格中单击打开或关闭Windows功能。作为替代方案,按Win+R并运行optionalfeatures或在命令行(CMD)中运行optionalfeatures

  3. Windows功能窗口中找到SMB 1.0/CIFS文件共享支持,如果您要选择所有相关功能,则选中此复选框。请注意,Windows 10版本1709及更新版本包含SMB 1.0自动移除功能,如果在最近15天内未使用SMB 1.0,它将自动禁用SMB 1.0以提高安全性。您可以仅选择SMB 1.0/CIFS客户端和/或SMB 1.0/CIFS服务器(取消选中自动删除复选框)。单击确定以保存设置。

您可以在CMD中启用SMB 1.0/CIFS文件共享支持:

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

或者

Set-SmbServerConfiguration -sEnableSMB1Protocol $true

或者

Install-WindowsFeature FS-SMB1

仅启用客户端:

Enable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol-Client" -All

启用 SMB 1.0 服务器:

Enable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol-Server" -All

如果出于某种原因,您需要在 Windows 10 上禁用 SMB 2,您可以编辑相应的注册表参数或使用 PowerShell 命令:

reg.exe add "HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters" /v "SMB2" /t REG_DWORD /d "0" /f

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi

sc.exe config mrxsmb20 start=disabled

PowerShell -ExecutionPolicy Unrestricted

Set-SmbServerConfiguration -EnableSMB2Protocol $true

如何解决常见的 Windows 共享错误

此部分解释了 Windows 共享不工作时的常见问题,并提供了解决方法的提示。

Windows 无法访问 \\主机名\共享

Windows 无法访问 \\主机名\共享

您没有权限访问 \\主机名\共享。请联系您的网络管理员请求访问权限

如果您看到这个错误消息,可能意味着用户未被添加到共享文件夹的共享设置中的用户列表中,或者该用户没有访问此共享的权限。编辑文件夹的共享设置,添加所需用户,并设置适当的权限。

  • 您还可以使用适当的PowerShell命令检查SMB共享权限和NTFS安全权限:

    Get-SmbShareAccess -Name "share01"

    get-acl C:\share01\ |fl

    在上述命令中使用适当的共享名称和共享文件夹路径,因为在您的情况下可能会有所不同。

  • 检查用户名是否输入正确,并在作为SMB服务器的计算机上检查用户名。
  • 删除Windows凭据管理器中保存的密码。如果密码已保存,然后已更改,可能会出现问题。您可以在控制面板中找到凭据管理器:

    控制面板\用户账户\凭据管理器

    另一种方法是运行命令以打开经典的凭据管理器:

    rundll32.exe keymgr.dll,KRShowKeyMgr

  • 检查TCP/IP NetBIOS 助手服务在计算机管理窗口(services.msc)的服务中的状态。您可能需要启动此服务。

错误 0x80070035

Windows 无法访问 \\sharename

检查名称的拼写。否则,您的网络可能存在问题。

错误代码:0x80070035。

未找到网络路径

修复方法 1

检查服务器和客户端端的 SMB 协议版本。您可能需要启用或禁用适当的 SMB 版本。

修复方法 2

A Server service can be stopped or disabled. This server is responsible for an SMB server in Windows for file sharing. Check the service state and start the service if it is not running.

检查具有共享文件夹的计算机上是否运行以下 Windows 服务:

  • 功能发现资源发布
  • 功能发现提供程序主机

修复方法 3

如果使用匿名(访客)访问(不建议,如上所述),请检查以下组策略。

启用不安全的访客登录

计算机配置 > 管理模板 > 网络 > Lanman 工作站

我们不建议启用此策略或启用访客访问,出于安全原因。如果您仍然使用访客访问,那么启用此策略可能会修复0x80070035错误。

reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f

匿名访问错误

重新连接S:到

\\Computer\share

Microsoft Windows网络:您无法访问此共享文件夹,因为您组织的安全策略阻止未经身份验证的访客访问。这些策略有助于保护您的计算机免受网络上的不安全或恶意设备的侵害。

错误会反映在Windows的事件查看器日志中。

日志名称: Microsoft-Windows-SmbClient/Security来源: Microsoft-Windows-SMBClient事件ID: 31017

拒绝了不安全的访客登录

此错误可能会在尝试使用匿名访问共享文件夹时,在Windows 10新于1709版本构建的系统上遇到,因为出于安全原因,SMB v1已禁用匿名(访客)访问。 SMB v1和SMB v2不使用使连接容易受到威胁的SMB签名和加密。

最佳解决方案是配置远程主机使用SMB服务器上的SMB v3共享。禁用匿名(访客)访问。如果SMB v2是可以使用的最高协议版本,请使用身份验证配置访问。使用身份验证是设置网络共享的最佳方法。

错误0x80004005

这种错误可能发生在客户机上禁用了SMB 1.0。请参考上述关于如何启用SMB 1.0或在双方使用SMB 3.0或3.1的SMB服务器和SMB客户端的信息。

Windows 10连接限制

文件和打印共享的最大并发连接数限制在Windows 7及更新的客户端Windows版本中为20。这意味着20个用户可以同时连接到文件共享。如果第21个用户在已经有20个用户连接到文件共享时连接到文件共享,他/她将会收到一个错误。

与Windows 10和其他客户端Windows版本不同,Windows Server 2019(以及其他服务器版本)对共享文件夹的并发连接数没有限制。如果您需要为许多用户(包括域用户)创建文件服务器并共享文件夹,请考虑在Windows Server 2019上配置文件共享。还请阅读这个NAS与文件服务器比较。

结论

现在您知道如何在Windows 10和其他客户端Windows版本中共享文件夹了。您需要配置防火墙/安全设置,创建用户帐户,并为文件夹设置SMB共享权限和NTFS文件系统权限。客户端可以使用他们的凭据连接到共享文件夹并将共享文件夹映射为网络驱动器。

请记得备份存储在共享文件夹中的文件。NAKIVO备份与复制支持备份到SMB文件共享和NFS共享(包括NAS)。

Source:
https://www.nakivo.com/blog/setup-network-file-sharing-in-windows/