Nếu bạn không thể mở hoặc map thư mục chia sẻ mạng trên NAS, server Samba Linux, máy tính chạy Windows cũ (Windows 7/XP/Server 2003) từ Windows 10 hoặc 11, nguyên nhân nhiều nhất là do các phiên bản cũ và không an toàn của giao thức SMB bị tắt trong các bản Windows hiện tại (giao thức SMB dùng trong Windows để truy cập thư mục và file chia sẻ mạng).
Microsoft đang hệ thống tắt các phiên bản SMB cũ và không an toàn trong tất cả các phiên bản Windows gần đây. Bắt đầu từ Windows 10 1709 và Windows Server 2019 (cả Datacenter và Standard), giao thức SMBv1 không an toàn bị tắt mặc định cũng như truy cập guest (ẩn danh) vào thư mục chia sẻ mạng.
Các bước cụ thể tùy thuộc vào lỗi xuất hiện trong Windows khi truy cập thư mục chia sẻ, và cài đặt server SMB từ xa lưu trữ chia sẻ mạng.
Không truy cập thư mục chia sẻ vì Security Policies chặn truy cập Guest không xác thực
Bắt đầu từ Windows 10 build 1709 Fall Creators Update (phiên bản Enterprise và Education), người dùng bắt đầu phàn nàn khi cố mở thư mục chia sẻ mạng trên máy tính lân cận, xuất hiện lỗi:
Restoring Network Connections An error occurs when you try to open a network folder: An error occurred while reconnecting Y: to \\nas1\share Microsoft Windows Network: You can’t access this shared folder because your organization’s security policies block unauthenticated guest access. These policies help protect your PC from unsafe or malicious devices on the network.
Hơn nữa, trên máy tính khác chạy Windows 8.1, Windows 7, hoặc Windows 10 build lên đến 1709, cùng thư mục chia sẻ mạng đó mở bình thường. Vấn đề là ở các phiên bản Windows 10 hiện đại (build 1709+), truy cập guest vào thư mục chia sẻ dùng giao thức SMBv2 bị tắt mặc định. Guest (ẩn danh) nghĩa là truy cập thư mục chia sẻ mạng không cần xác thực. Khi truy cập thư mục mạng dưới tài khoản guest qua giao thức SMBv1/v2, các phương pháp bảo vệ traffic như SMB signing và encryption không được dùng, làm phiên của bạn dễ bị tấn công MiTM (man-in-the-middle).
Những thay đổi này không áp dụng cho Windows 10 Home và truy cập mạng dưới tài khoản guest hoạt động bình thường.
Nếu bạn cố mở thư mục chia sẻ mạng dùng giao thức SMB v2 dưới tài khoản guest, lỗi sau sẽ xuất hiện trong Event Viewer máy tính của bạn (SMB client):
Log Name: Microsoft-Windows-SmbClient/Security Source: Microsoft-Windows-SMBClient Event ID: 31017 Rejected an insecure guest logon.
Lỗi này cho thấy máy tính của bạn (client) chặn truy cập không xác thực dưới tài khoản Guest.
Trong hầu hết trường hợp, bạn gặp vấn đề này khi truy cập thiết bị NAS cũ (thường bật guest access để dễ thiết lập) hoặc mở thư mục chia sẻ trên Windows 7/2008 R2/XP/2003 cũ với truy cập ẩn danh (guest) được bật (xem bảng phiên bản SMB hỗ trợ trong các phiên bản Windows khác nhau).
Microsoft khuyến nghị thay đổi cài đặt trên máy tính từ xa hoặc thiết bị NAS lưu trữ thư mục chia sẻ mạng. Nên chuyển chia sẻ mạng sang chế độ SMBv3. Hoặc cấu hình truy cập có xác thực nếu thiết bị chỉ hỗ trợ SMBv2. Đây là cách đúng và an toàn nhất để sửa lỗi.
Tắt guest access trên thiết bị lưu trữ thư mục chia sẻ:
- Thiết bị NAS – tắt guest access trong cài đặt thiết bị NAS (tùy vendor và model);
- Server Samba trên Linux — nếu chia sẻ thư mục mạng với Samba trên Linux, thêm dòng sau vào file cấu hình smb.conf dưới section [global]:
map to guest = never. Và hạn chế truy cập ẩn danh trong cấu hình thư mục chia sẻ:guest ok = no - Trong Windows, bạn có thể bật chia sẻ thư mục và máy in có bảo vệ mật qua Control Panel → Network and Sharing Center → Advanced sharing settings. Cho All Networks trong mục “Password Protected Sharing”, đổi giá trị thành “Turn on password protected sharing”. Lúc này truy cập ẩn danh (guest) vào thư mục chia sẻ mạng sẽ bị tắt và bạn phải tạo user local, cấp quyền truy cập thư mục/máy in chia sẻ và dùng tài khoản này kết nối đến thư mục chia sẻ trên máy tính từ xa.

Có cách khác – bạn có thể thay đổi cài đặt trên thiết bị Windows của mình để cho phép truy cập thư mục chia sẻ mạng dưới tài khoản guest. Cách này chỉ nên dùng như giải pháp tạm thời (!!!), vì truy cập thư mục không xác thực làm giảm đáng kể bảo mật máy tính.
Để bật guest access từ máy tính của bạn, dùng Group Policy Editor (gpedit.msc). Đi đến mục: Computer Configuration → Administrative templates → Network → Lanman Workstation. Tìm và bật policy Enable insecure guest logons. Tùy chọn policy này xác định xem client SMB có cho phép đăng nhập guest không an toàn đến server SMB hay không.
Cập nhật cài đặt Group Policy trong Windows bằng lệnh:
gpupdate /force
Trong Windows 10 Home không có local GPO editor, bạn có thể thay đổi tương tự qua Registry Editor thủ công:
HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters “AllowInsecureGuestAuth”=dword:1
Hoặc với các lệnh:
reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f
reg add HKLM\Software\Policies\Microsoft\Windows\LanmanWorkstation /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f
Không kết nối được File Share vì không an toàn và yêu cầu giao thức SBM1 cũ
Vấn đề khác khi truy cập thư mục mạng từ Windows 10 là chỉ phiên bản giao thức SMBv1 được hỗ trợ phía server. Vì client SMBv1 bị tắt mặc định trong Windows 10 1709+, khi bạn cố mở thư mục chia sẻ hoặc map ổ mạng, có thể gặp lỗi:
You can’t connect to the file share because it’s not secure. This share requires the obsolete SMB1 protocol, which is unsafe and could expose your system to attack. Your system requires SMB2 or higher.
Trong trường hợp này, máy tính lân cận có thể không hiển thị trên mạng local, và khi mở thư mục chia sẻ bằng đường dẫn UNC, lỗi 0x80070035 có thể xuất hiện.
Thông báo lỗi cho thấy rõ thư mục chia sẻ mạng chỉ hỗ trợ giao thức truy cập client SMBv1. Trong trường hợp này, bạn nên thử cấu hình lại thiết bị SMB từ xa để dùng ít nhất SMBv2 (cách đúng và an toàn).
Nếu dùng server Samba trên Linux chia sẻ file, bạn có thể chỉ định phiên bản SMB tối thiểu hỗ trợ trong file smb.conf như sau:
[global]
server min protocol = SMB2_10
client max protocol = SMB3
client min protocol = SMB2_10
encrypt passwords = true
restrict anonymous = 2
Trên Windows 7/Windows Server 2008 R2, bạn có thể tắt giao thức SMB 1 và bật SMBv2 qua registry với lệnh PowerShell sau:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 –Force
Trên Windows 8.1/Windows Server 2012 R2, bạn có thể tắt SMBv1, cho phép SMBv2 và SMBv3 với lệnh sau (xác minh profile private hoặc domain dùng cho kết nối mạng):
Disable-WindowsOptionalFeature -Online -FeatureName "SMB1Protocol"
Set-SmbServerConfiguration –EnableSMB2Protocol $true
Nếu thiết bị mạng của bạn (NAS, Windows XP, Windows Server 2003) chỉ hỗ trợ giao thức SMB1, bạn có thể bật tính năng SMB1Protocol-Client riêng trên Windows 10/11 hoặc Windows Server. Nhưng điều này không được khuyến nghị!!!
Nếu thiết bị từ xa yêu cầu SMBv1 để kết nối, và giao thức này bị tắt trên thiết bị Windows của bạn, lỗi xuất hiện trong Event Viewer:
Log Name: Microsoft-Windows-SmbClient/Security Source: Microsoft-Windows-SMBClient Event ID: 32000 Description: SMB1 negotiate response received from a remote device when SMB1 cannot be negotiated by the local computer.
Chạy PowerShell quyền admin và kiểm tra SMB1Protocol-Client bị tắt (State: Disabled):
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
Bật giao thức client SMBv1 (cần reboot):
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
Bạn cũng có thể bật/tắt tính năng thêm trong Windows 10 và 11 từ optionalfeatures.exe. Mở rộng SMB 1.0/CIFS File Sharing Support và bật SMB 1.0/CIFS Client.
Trên Windows 10 1809 và mới hơn, client SMBv1 tự động bị gỡ nếu không dùng quá 15 ngày (thành phần SMB 1.0/CIFS Automatic Removal chịu trách nhiệm).
Trong ví dụ này, tôi chỉ bật client SMBv1. Không bật tính năng SMB1Protocol-Server nếu máy tính của bạn không dùng làm server SMB lưu trữ thư mục chia sẻ cho client cũ.
Sau khi cài client SMBv1, bạn phải có thể kết nối thư mục chia sẻ hoặc máy in không vấn đề. Tuy nhiên, bạn phải hiểu giải pháp này không khuyến khích, vì làm giảm bảo mật máy tính.
Windows không truy cập thư mục chia sẻ: Bạn không có quyền
Khi kết nối thư mục chia sẻ mạng trên máy tính từ xa, có thể xuất hiện lỗi:
Network Error Windows cannot access \\PC12\Share You do not have permission to access \\PC12\Share. Contact your network administrator to request access.
Khi lỗi này xảy ra, bạn cần:
- Đảm bảo user dùng truy cập thư mục chia sẻ được cấp quyền trên share từ xa. Mở properties thư mục chia sẻ trên server và đảm bảo user của bạn có ít nhất quyền đọc. Cũng có thể kiểm tra share permission trên host từ xa bằng PowerShell:
Get-SmbShareAccess -Name "tools"
Sau đó kiểm tra quyền NTFS thư mục:
get-acl C:\tools\ |fl
Nếu cần, sửa quyền trong properties thư mục và/hoặc share; - Đảm bảo bạn dùng đúng username và password truy cập thư mục mạng. Nếu không được nhắc nhập user/pass, thử xóa credential đã lưu (cached) cho share từ xa trong Windows Credential Manager. Chạy lệnh
rundll32.exe keymgr.dll, KRShowKeyMgrvà xóa credential cached cho máy tính từ xa bạn đang cố truy cập.
Lần tới kết nối thư mục chia sẻ, bạn sẽ được nhắc username và password. Chỉ định credential truy cập thư mục chia sẻ mạng trên máy tính từ xa. Bạn có thể lưu trong Credential Manager hoặc thêm thủ công.
Các cách sửa khác: Windows không truy cập thư mục chia sẻ
Phần này cung cấp thêm cách khắc phục sự cố mở thư mục mạng trong Windows:
- Đảm bảo máy tính từ xa cho phép kết nối đến thư mục chia sẻ mạng dùng giao thức SMB (cổng TCP 445). Kiểm tra tính khả dụng cổng 445 trên máy tính từ xa dùng lệnh Test-NetConnection:
Test-NetConnection -ComputerName HomePC212 -Port 445
Nếu cmdlet trả vềTcpTestSucceeded : False, nghĩa là truy cập thư mục mạng trên máy tính từ xa bị chặn bởi firewall. Kết nối có thể bị chặn bởi antivirus hoặc firewall (bên thứ ba hoặc Windows Defender Firewall tích hợp). Nếu dùng Windows Defender, bật quy tắc File and Printer Sharing (Control Panel\System and Security\Windows Defender Firewall\Allowed apps\Allow apps to communicate through Windows Firewall) trên host chia sẻ file cho cả ba network profile.
Hoặc tạo rule firewall bằng PowerShell:New-NetFirewallRule -DisplayName "Allow_SBM-FileSharing_In" -Direction Inbound -Protocol TCP –LocalPort 445 -Action Allow - Nếu không mở được ổ mạng đã map (thư mục), thử xóa credential cached trong Windows Credential Manager, xóa ổ mạng đã map (lệnh
Net Use * /delete) và kết nối lại; - Thử dùng địa chỉ IP máy tính từ xa thay vì tên để truy cập thư mục. Ví dụ:
Win+R→\\192.168.12.20→ Ok. - Đảm bảo máy tính cùng tham gia workgroup. Tên workgroup trên máy tính tìm được bằng PowerShell:
Get-WmiObject Win32_ComputerSystem).domain - Reset cài đặt TCP/IP stack và cập nhật địa chỉ IP trên máy tính:
netsh int ip reset
netsh winsock reset
ipconfig /flushdns
ipconfig /release
ipconfig /renew