Samba shared drives on Ubuntu 22.04 often fail to connect from Windows 10 due to changes in default security policies, specifically the enforcement of SMBv3 and the disabling of insecure guest accounts. This sudden breakage usually stems from a mismatch between the server's configuration and the client's strict authentication requirements. Restoring connectivity requires verifying that the Samba service is active, ensuring the correct SMB protocol versions are enabled, and confirming that network discovery settings on both systems align properly.
Verifying Samba Service Status
The first step in troubleshooting is to ensure that the Samba daemon is actually running on your Ubuntu machine. If the service has crashed or failed to start after a system update, Windows will be unable to locate the share. You can check the status using the
systemctl command. Open your terminal and run:
sudo systemctl status smbd
If the service is inactive or failed, restart it with
sudo systemctl restart smbd. Additionally, ensure that the NMB service, which handles NetBIOS name resolution, is also active. Without this, Windows might struggle to resolve the hostname of your Ubuntu machine to an IP address. You should also verify that the firewall allows incoming connections on ports 139 and 445. Use
sudo ufw allow samba if you have UFW enabled.
Checking Samba Configuration for Protocol Compatibility
Ubuntu 22.04 ships with a newer version of Samba that defaults to more secure protocols. Windows 10 may refuse to connect if the server does not explicitly support SMBv2 or SMBv3, or if it attempts to use deprecated SMBv1. Edit the main configuration file located at
/etc/samba/smb.conf. Look for the [global] section and ensure the following parameters are set correctly:
[global]
min protocol = SMB2
server min protocol = SMB2
Setting the minimum protocol to SMB2 prevents the server from falling back to insecure older versions while still allowing modern clients to connect. If you recently updated Ubuntu, the default configuration might have been overwritten or reset. After making changes, restart the Samba services to apply them. It is also crucial to check that the specific share definition includes valid permissions and that the user account exists in both the Linux system and the Samba password database.
Windows 10 Network Discovery Settings
Sometimes the issue lies not with the Ubuntu server but with the Windows client's network profile. Windows 10 categorizes networks as either "Public" or "Private." In Public mode, network discovery and file sharing are disabled by default for security reasons. To change this, go to Settings > Network & Internet > Ethernet (or Wi-Fi) and click on the properties of your connected network. Ensure the network profile type is set to Private.
Additionally, verify that Network Discovery is turned on. Navigate to Control Panel > Network and Sharing Center > Change advanced sharing settings. Under the Private section, select "Turn on network discovery" and "Turn on automatic setup of network connected devices." If you are connecting via an IP address rather than a hostname, ensure that File and Printer Sharing is enabled for private networks. This step resolves many issues where the connection works locally but fails over the network.
Authentication and Guest Access Issues
Modern Samba configurations disable guest access by default to prevent unauthorized access. If your Windows client is attempting to connect without credentials, or if it is sending cached credentials that no longer match, the connection will fail. When mapping the drive in Windows, right-click on "This PC," select "Map network drive," and enter the path
\\ubuntu-ip-address\share-name. Check the box "Connect using different credentials" and enter the username and password of a valid Samba user.
If you previously used guest access, you must now provide explicit credentials. Create a new Samba user if necessary using
smbpasswd -a username. Ensure that the user has read/write permissions defined in the
smb.conf file under the share section. For example, use
valid users = username and
read only = no. Restarting the Samba service after adding a user ensures the new credentials are recognized immediately.
Frequently Asked Questions
Why does my Samba share work on Linux but not Windows?
This discrepancy usually occurs because Linux clients often handle authentication more flexibly or cache credentials differently than Windows. Windows enforces stricter security policies regarding SMB protocol versions and network profiles. Ensuring that the SMB protocol minimum is set to SMB2 in the Samba configuration typically bridges this gap.
How do I clear cached Samba credentials in Windows?
Open the Command Prompt as Administrator and run
net use * /delete to remove all persistent network connections. This clears any stale session tokens that might be causing authentication failures. You can then attempt to reconnect using the correct username and password.
Is SMBv1 required for older Windows versions?
No, SMBv1 is considered insecure and is disabled by default in modern Windows updates and Samba versions. Instead of enabling SMBv1, configure the Samba server to support SMB2 and SMBv3. This ensures compatibility with Windows 10 and later while maintaining a secure environment.
What should I do if the IP address changes frequently?
If your Ubuntu machine uses DHCP, its IP address may change, breaking existing mapped drives. Consider setting a static IP address in your router's DHCP reservation settings or configuring a static IP on the Ubuntu interface itself. Alternatively, use the computer's hostname instead of the IP address when mapping the drive, provided DNS or NetBIOS resolution is working correctly.
Can I enable guest access for convenience?
While possible, enabling guest access is strongly discouraged due to security risks. It allows anyone on the network to access the shared files without authentication. If you must use guest access, restrict the share permissions carefully and isolate the network segment. Providing specific user credentials is always the safer and recommended approach.