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

當在本地區域網絡(LAN)中有多台計算機時,您可能需要使存儲在一台計算機上的文件可以通過網絡在另一台計算機上訪問。在這種情況下,您可以使用SMB協議在Windows中共享文件夾。請注意,對於在Windows版本7、8和11中共享文件夾,工作流程是相同的。

Windows 10數據共享

在我們創建共享文件夾並配置訪問之前,讓我們簡要地概述主要步驟:

  • 啟用文件和打印機共享;確保防火牆不阻止SMB連接。
  • 定義哪些用戶必須訪問並在需要時創建用戶帳戶。
  • 共享文件夾並在SMB協議級別和文件系統級別設置權限。
  • 從網絡上的另一台計算機訪問共享文件夾。
  • 將共享文件夾映射為網絡驅動器並配置其他設置(如果需要)。

要求

共享文件夾的要求是:

  • 建議使用NTFS文件系統。FAT32在設置權限時有限制(當使用FAT32時,文件夾屬性中缺少“安全”選項卡)。
  • TCP端口445、139、138和137必須打開。
  • 您的用戶帳戶必須具有足夠的Windows權限來更改文件夾屬性。

設置

在本教程中,我們將使用Windows 10專業版(Build 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. 在兩台電腦上配置上述設定:一台 Windows 作為 SMB 伺服器,另一台 Windows 作為 SMB 客戶端。
    • SMB 伺服器是共享資料夾的電腦。
    • SMB 客戶端是通過網路連接到 SMB 共享的電腦。

如何更改網路設定檔

請按照以下步驟在 Windows 10 中更改網路設定檔,以準備進行網路共用設定。

  1. 點擊開始>設定>網路與 Internet
  2. 選擇您的網絡適配器並點擊屬性

  3. 在打開的窗口中選擇所需的網絡配置文件(在這種情況下選擇私人)。

創建用於文件共享的用戶

將您的Windows用戶帳戶的憑據提供給其他人並不是一個好主意。根據最佳實踐,建議您在Windows 10中創建特殊的用戶帳戶並為這些帳戶設置所需的訪問級別以共享文件夾。在Windows 10專業版中,有各種設置來創建用戶和組。

  1. 右鍵單擊我的電腦此電腦圖標,然後在上下文菜單中點擊管理。您也可以通過在命令行(CMD)中運行以下命令來打開此窗口:compmgmt.msc

  2. 電腦管理視窗的左窗格中,點擊本機使用者和群組,然後選擇使用者。右鍵點擊使用者,選擇新增使用者以創建新使用者。

  3. 輸入使用者名稱,設置密碼,並選擇帳戶選項。

    我們在這裡創建用戶11用戶12用戶13,和用戶14。默認情況下,這些使用者是使用者群組的成員。

創建群組

為了與需要使用不同認證的多個使用者共享具有相同權限的文件夾,更方便的做法是創建一個群組,將所需的使用者添加到該群組中,並將文件夾與此群組共享。

  1. 前往 本機使用者和群組電腦管理 視窗中。右擊 群組 (或群組窗格中的空白處),然後在快捷菜單中點擊 新增群組

  2. 輸入群組名稱,例如,sharegroup1。點擊 新增 以將使用者新增至該群組 (請參閱下面的截圖)。

    我們將三個使用者(之前創建的)添加到此群組 – user11user12user13

  3. 輸入使用者名稱並點擊 檢查名稱。如果使用者名稱正確,完整的使用者名稱將以 電腦名稱\使用者名稱 的格式底線劃起來。您可以使用分號,在輸入使用者名稱後,勾選每個使用者來在此視窗中新增多個使用者。完成後,點擊 確定 完成新增使用者並關閉此視窗。
  4. 點擊 建立 完成群組的建立並準備設置網絡共享。

所有的準備步驟都已完成。網絡設置已配置,用戶和組已創建。現在我們可以在 Windows 10 中共享文件夾。

如何在 Windows 中共享文件夾

要在 Windows 7、8、10 或 11 中共享文件夾,請執行以下操作:

  1. 右擊您想要共享的文件夾(在本示例中,文件夾為share01)。然後在上下文菜單中點擊屬性

  2. 打開文件夾屬性窗口。
  3. 選擇共享選項卡,然後點擊高級共享。根據 Windows 共享最佳實踐,建議您使用高級共享設置,而不是使用共享按鈕進行簡單共享。高級共享設置提供了最大的靈活性,可用於 Windows 10 數據共享(以及其他 Windows 版本)。
  4. 高級共享窗口中,選中共享此文件夾复選框。
  5. 輸入/編輯共享名稱(在我們的案例中為share01)。
  6. 單擊權限以設置 SMB 級別的用戶和組的權限。
  7. 默認情況下,每個人都被授予只讀訪問權限。這不是我們想要的配置。選擇每個人並點擊移除

    注意:如果在共享權限中選擇了每個人,則在配置完共享權限後,可以在下面解釋的安全選項卡中限制訪問權限。

    點擊添加以添加所需的用戶或組,與其共享文件夾。

  8. 選擇使用者或群組。輸入群組名稱或使用者名稱,並點擊 檢查名稱。如果您已正確輸入名稱,使用者或群組名稱將以 電腦名稱\使用者名稱 格式底線顯示。我們添加了 sharegroup1user14 來與他們分享資料夾。點擊 確定 以保存設置並關閉視窗。

  9. 我們回到資料夾 權限 視窗。讓我們為我們添加的群組和使用者設置權限。我們選擇 sharegroup1 並點擊 完全控制 以授予此群組完整訪問權限,包括 user11user12user13,他們是該群組的成員。我們選擇 user14,他不是 sharegroup1 的成員,將 讀取 權限保持不變。點擊 確定 以保存設置並關閉視窗。

  10. 我們回到資料夾屬性視窗。選擇 安全性 索引標籤並點擊 編輯
  11. 權限視窗(檔案系統權限)會打開所選擇的資料夾。點擊新增以新增群組或使用者以設定權限。
  12. 輸入使用者或群組名稱,點擊檢查名稱,然後點擊新增。我們在此示例中新增sharegroup1user14

  13. 返回共享資料夾的權限視窗,選擇sharegroup1並選擇完全控制以授予此資料夾完整存取權限。同樣選擇user14,並保留默認的唯讀存取權限。點擊確定以保存設置,關閉權限視窗,並返回到資料夾屬性視窗。
  14. 您可以在資料夾屬性視窗的安全選項卡中查看使用者的權限列表。點擊關閉

  15. 共享文件夾的網絡路徑會顯示在文件夾屬性窗口中。請記住,如果使用計算機名稱輸入路徑無法工作,您可以使用 IP 地址。您可以按 確定 並關閉此窗口。

  16. 文件夾已成功共享。嘗試從另一台計算機訪問共享文件夾。我們在本文中下面解釋了如何訪問文件共享。

注意:我們使用高級共享而不是簡單共享,因為簡單共享的配置選項有限。在下面的截圖中,您可以看到我們配置 Windows 10 通過 SMB 進行數據共享後,簡單共享設置的外觀。此外,使用高級共享設置可以更好地理解如何在 Windows 10 中共享文件夾以及一般文件共享原則。

替代共享方法

在 Windows 7、8、10 或 11 中共享文件夾的替代方法是使用共享文件夾管理插件fsmgmt.msc。您也可以按照以下步驟找到此管理插件:

  1. 右鍵點擊 我的電腦 並點擊 管理
  2. 計算機管理 窗口中,轉到系統工具 > 共享文件夾
  3. 右鍵點擊 共享,在上下文選單中,點擊 新共享
  4. 跟隨直觀的嚮導並配置所需的選項,就像我們上面做的那樣。

您還可以在此補充中檢查共享的資料夾、已開啟的會話和已開啟的檔案,以及管理現有的共享和停用檔案共用。

連接到共享的資料夾

要從網絡上的 Windows 10 電腦連接到共享的資料夾,請執行以下操作:

  1. 打開 我的電腦(這台電腦)或在 Windows Explorer 中打開新視窗。
  2. 輸入擁有共享資料夾的機器的 IP 地址或主機名(DNS 名稱),您要連接的。例如:
    • \\192.168.101.212
    • \\Computer10

    您可以輸入已知的共享資料夾的完整網絡路徑,即 UNC 路徑,例如:

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

    這種方法可能很有用,因為有時無法在遠程 SMB 伺服器上瀏覽到共享資料夾列表。

如何在 Windows 10 中映射網絡驅動器

我們已經解釋了如何以一般方式訪問 Windows 10 中的共享文件夾。為了更方便,您可以將遠程共享文件夾映射為網絡驅動器,在 Windows Explorer 中永久顯示(直到刪除此驅動器)。這種方法也適用於其他 Windows 版本。

  1. 在訪問了具有共享文件夾的遠程計算機後,右鍵單擊共享文件夾。
  2. 點擊映射網絡驅動器
  3. 選擇網絡驅動器的字母,選擇登錄時重新連接,然後完成。

如何在無密碼的情況下連接到共享文件夾

默認情況下,所有共享文件夾都受特定用戶的密碼保護。但是,有一種安全的方法讓用戶無需每次輸入密碼即可從其 Windows 電腦訪問共享文件夾。條件如下:

  • 存儲共享文件夾的計算機上的用戶名必須與從中連接到共享文件夾的遠程計算機上的用戶名相同。
  • 此用戶帳戶的密碼必須在兩台 Windows 機器上(作為 SMB 伺服器和 SMB 客戶端)相同。
  • 使用者必須登入到 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 漏洞來攻擊計算機並損壞數據。此後,Microsoft 針對從 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 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 無法存取 \\hostname\share

Windows 無法存取 \\hostname\share

您無權存取 \\hostname\share。請聯繫您的網絡管理員請求訪問權限

如果看到此錯誤訊息,可能表示尚未將使用者添加到共享文件夾的共享設置中的使用者列表中,或者對於此使用者沒有訪問此共享的權限。編輯文件夾的共享設置,添加所需的使用者,並設置適當的權限。

  • 您也可以使用相應的 PowerShell 命令檢查 SMB 共享權限和 NTFS 安全權限:

    Get-SmbShareAccess -Name "share01"

    get-acl C:\share01\ |fl

    請在上述命令中使用適當的共享名稱和共享文件夾的路徑,因為在您的情況下可能會有所不同。

  • 檢查使用者名稱是否正確輸入,並在作為 SMB 伺服器的機器上檢查使用者名稱。
  • 刪除 Windows 憑據管理器中保存的密碼。如果保存了密碼,然後將其更改,可能會出現問題。您可以在控制面板中找到憑據管理器:

    控制面板\使用者帳戶\憑據管理器

    另一種方法是運行命令以打開經典的憑據管理器:

    rundll32.exe keymgr.dll,KRShowKeyMgr

  • 檢查TCP/IP NetBIOS Helper服務在服務中的狀態電腦管理視窗(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: 到

\\電腦\共享

Microsoft Windows 網路:您無法訪問此共享文件夾,因為您組織的安全策略阻止未經身份驗證的訪問。這些策略有助於保護您的電腦免受網絡上不安全或惡意的設備

該錯誤反映在 Windows 的事件查看器中。

日誌名稱:Microsoft-Windows-SmbClient/Security 來源:Microsoft-Windows-SMBClient 事件 ID:31017

拒絕了不安全的訪客登錄

在嘗試使用匿名訪問共享文件夾時,可能會在 Windows 10 的新版本中遇到此錯誤,因為出於安全原因已禁用 SMB v1 的匿名(訪客)訪問。 SMB v1 和 SMB v2 不使用 SMB 簽名和加密,這使得連接易受攻擊。

最佳解決方案是將 SMB 伺服器上的遠程主機配置為使用 SMB v3。禁用匿名(訪客)訪問。如果 SMB v2 是可以使用的最高協議版本,請使用身份驗證進行訪問。使用身份驗證進行訪問是設置網絡共享的最佳方法。

錯誤 0x80004005

此錯誤可能是由於在客戶端機器上停用 SMB 1.0 所致。請參閱上方的資訊,了解如何啟用 SMB 1.0,或配置 SMB 伺服器和 SMB 客戶端以在兩端使用 SMB 3.0 或 3.1。

Windows 10 連接限制

在 Windows 7 及更新的客戶端 Windows 版本中,檔案和印表機共享的最大同時連接數限制為 20 個。這意味著 20 個使用者可以同時連接到檔案共享。如果第 21 個使用者在已經有 20 個使用者連接的情況下連接到檔案共享,則會出現錯誤。

與 Windows 10 和其他客戶端 Windows 版本不同,Windows Server 2019(以及其他伺服器版本)對共享資料夾的同時連接數沒有限制。如果您需要建立一個檔案伺服器並為許多使用者(包括域使用者)共享資料夾,請考慮在 Windows Server 2019 上配置檔案共享。還可以閱讀此NAS vs 檔案伺服器比較。

結論

現在您知道如何在 Windows 10 和其他客戶端 Windows 版本中共享資料夾。您需要配置防火牆/安全性設置,創建使用者帳戶,並為資料夾設置 SMB 共享權限和 NTFS 檔案系統權限。客戶端可以使用其憑證連接到共享資料夾並將共享資料夾映射為網路驅動器。

請記得備份存儲在共享資料夾中的檔案。NAKIVO 備份與復原支持將備份儲存到 SMB 檔案共享和 NFS 檔案共享(包括 NAS)。

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