Ubuntu 搭建 Samba 共享,在 Windows 10 上访问

Ubuntu 搭建 Samba 共享,在 Windows 10 上访问
胖胖局域网里 Ubuntu 和 Windows 之间共享文件,用 Samba(SMB)最方便。这篇把 Ubuntu 上的 /mnt/vdb、/mnt/vdc、/mnt/vdd 三个目录共享出去,再在 Windows 10 上访问。
1. 安装 Samba
1 | sudo apt update |
装好后看一下版本,确认安装成功:
1 | smbd --version |
2. 配置共享
准备目录
目录不存在的话先建好,并放开权限:
1 | sudo mkdir -p /mnt/vdb /mnt/vdc /mnt/vdd |
如果这些目录是挂载的硬盘,也要确认挂载后的权限没问题,否则共享出去也写不进去。
编辑配置文件
1 | sudo vim /etc/samba/smb.conf |
在文件末尾加上:
1 | [vdb] |
guest ok = yes 表示允许匿名访问。
需要账号登录的话
新建一个 Samba 用户,例如 smbuser:
1 | sudo adduser smbuser |
再把对应共享改成不允许匿名、只允许这个用户:
1 | [vdb] |
3. 重启并检查
1 | sudo systemctl restart smbd |
检查运行状态和配置文件:
1 | sudo systemctl status smbd |
testparm 没报错就说明配置文件没问题。
4. 在 Windows 10 上访问
在资源管理器里打开
地址栏输入 \\ 加 Ubuntu 的 IP,例如:
1 | \\192.168.1.100 |
回车后能看到 vdb、vdc、vdd 三个共享。设置了账号的共享会弹出登录框,输入 smbuser 和密码即可。
Windows 10 新版本默认禁止”不安全的来宾登录”,匿名共享可能会提示无法访问。遇到这种情况,要么改用上面的账号登录方式,要么在组策略里启用”启用不安全的来宾登录”(计算机配置 → 管理模板 → 网络 → Lanman 工作站)。
映射为网络驱动器
右键”此电脑”→”映射网络驱动器”,填入共享路径(如 \\192.168.1.100\vdb),勾选”登录时重新连接”,以后开机就会自动挂上。
5. 可能遇到的问题
防火墙
Ubuntu 开了 UFW 的话,放行 Samba:
1 | sudo ufw allow samba |
共享的是 NTFS 硬盘
如果 /mnt/vdb 这些是 NTFS 格式的硬盘,挂载参数不对会导致 Samba 写不进去。可以在 /etc/fstab 里这样挂载(uid、gid 按实际用户填):
1 | UUID=xxxx-xxxx /mnt/vdb ntfs defaults,uid=1000,gid=1000,dmask=000,fmask=111 0 0 |
以上配置只适合家庭局域网。要更安全一点,可以再研究 SMB3 加密传输、按 IP 限制访问等,具体看 Samba 官方文档。






-863b9c5323fbe3a333ba6b5da0bd8ebd.png)




