smb共享怎么设置,Linux 系统下使用 Samba 配置 SMB 共享的方法

题图来自Unsplash,基于CC0协议
导读
设置 SMB(Server Message Block)共享可以让不同设备在局域网内共享文件和打印机。不同操作系统设置略有差异,以下是针对 Windows 10、Linux、权限控制、故障排除及协议版本的详细解答。
在 Windows 10 系统中,设置 SMB 共享文件夹相对简单。首先,打开 设置 > 蓝牙和其他设备 > 共享,或者通过控制面板进入高级共享设置。在启用网络发现后,找到需要共享的文件夹,右键选择 共享 > 特定人(Group or user)。输入允许的用户名称或添加用户组,并选择共享权限(例如 读取 或 读写)。完成后,在文件夹属性中还可以设置共享名称、用户凭据等。注意,尽量使用强密码,并禁止通过互联网访问共享文件夹。
在 Linux 系统中,通常使用 Samba 软件来实现 SMB 共享。首先安装 Samba(以 Ubuntu 为例):
sudo apt install samba
编辑配置文件 /etc/samba/smb.conf,在文件末尾添加:
[shared]
path = /path/to/shared/folder
browseable = yes
read only = no
guest only = no
valid users = username
然后设置共享文件夹的权限:
sudo chmod -R 770 /path/to/shared/folder
sudo chown -R username:username /path/to/shared/folder
最后重启 Samba 服务:
sudo systemctl restart smbd nmbd
如果需要从其他设备访问,如 Windows,可以使用 \ip.addressshared 格式连接。
SMB 共享权限的设置分为用户级别和共享级别两种方式。用户层面的权限通过操作系统的用户管理实现,例如配置 Samba 用户密码时指定可访问的共享目录。共享级别权限在 smb.conf 中设置 read only = yes/no。还可以限制特定用户或组的操作,如只允许某些用户读取文件,或是使用 hosts allow、hosts deny 进行主机 IP 访问控制。同时,可以设置写入权限,比如使用 create mask 和 directory mask 来控制新文件和目录的访问权限。
如果 SMB 共享无法访问或连接失败,可按以下步骤排查:
- 检查网络连接和防火墙:确保所有设备在同一网络,并关闭防火墙的 SMB 端口(445)或添加例外。
- 验证共享名称或路径:确认共享路径是否正确。
- 检查凭据:在 Windows 中,确保输入正确的用户名和密码,尤其是 Linux 共享时需提供有效 Samba 账户。
- 测试 SMB 协议版本兼容性,可尝试降低协议版本(如从 SMB3 降到 SMB2)或提升服务器兼容性。
- 读取系统日志:例如在 Linux 中使用
journalctl -u smbd查找错误。
SMB 协议的版本会影响兼容性和安全性。SMB1 存在重大安全漏洞,因此建议禁用。在 Windows 中,进入 控制面板 > 程序 > 启用或关闭 Windows 功能,取消勾选 SMB 1.0/CIFS 文件共享支持。在 Linux 中使用 smbd,可通过修改 smb.conf 中的 force smb2 来指定协议版本。SMB3 引入了加密、多通道等特点,适合高速或安全传输场景。通常服务器端设置为 SMB3,并在客户端要求使用 SMB3 以上协议即可获得最佳性能。
© 版权声明
本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com