服务器 Samba 共享配置:从安装到权限验证的实操步骤

在 Linux 服务器上配置 Samba 共享,核心就是安装软件、编辑 smb.conf、创建共享用户并设置目录权限,最后从 Windows 或另一台 Linux 机器挂载验证。
下面以 Ubuntu/Debian 为例,给出可以直接照做的步骤。

安装前确认环境与开放端口

先确认系统版本和网络情况。
Samba 依赖 smbd 和 nmbd 两个服务,默认监听 445 和 139 端口。
执行以下命令安装:

sudo apt update
sudo apt install samba -y

安装完成后检查版本和服务状态:

smbd --version
systemctl status smbd

如果服务器开启了 ufw 或 firewalld,需要放行 Samba 端口:

# ufw
sudo ufw allow samba

# firewalld
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload

预期结果:smbd 处于 active (running) 状态,端口放行后从其他机器能访问到 445。

创建共享目录并规划权限

不要直接共享 / 或用户家目录,建议单独建目录。
下面以 /srv/samba/share 为例:

sudo mkdir -p /srv/samba/share
sudo chown -R nobody:nogroup /srv/samba/share
sudo chmod 2770 /srv/samba/share

2770 中的 2 表示设置 SGID,新建文件会继承目录所属组。
如果后续需要让多个用户读写,可以把用户加入同一附加组,再调整目录组权限。

避坑点:

  • 不要用 chmod 777 图省事,开放过大权限会带来安全风险。
  • 如果目录放在 /home 下,受家目录默认权限限制,Samba 用户可能无法进入。
  • 修改目录权限前先确认没有其他服务依赖该路径。

编辑 smb.conf 添加共享段

先备份配置文件:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

在文件末尾追加共享定义,可以用 sudo nano /etc/samba/smb.conf:

[share]
   comment = Public Share
   path = /srv/samba/share
   browseable = yes
   writable = yes
   guest ok = no
   valid users = smbuser
   create mask = 0660
   directory mask = 2770

关键参数说明:

  • path:共享目录的绝对路径,必须真实存在。
  • valid users:允许访问的用户名,多个用户用空格分隔。
  • guest ok = no:禁止匿名访问,避免未授权写入。
  • create mask 和 directory mask:控制新建文件和目录的默认权限。

修改后先检查语法,再重启服务:

testparm
sudo systemctl restart smbd

testparm 如果提示 Loaded services file OK,说明配置格式没有问题。

创建 Samba 用户并设置密码

Samba 用户必须是系统已存在的用户,但密码独立管理。
先建系统用户,再设置 Samba 密码:

sudo useradd -M -s /usr/sbin/nologin smbuser
sudo smbpasswd -a smbuser

系统会提示输入两次密码。
设置完成后可以查看用户列表:

sudo pdbedit -L

注意:smbpasswd 设置的密码与系统登录密码无关。
如果后续要删除 Samba 用户,使用:

sudo smbpasswd -x smbuser

从客户端验证挂载与读写

在 Windows 资源管理器地址栏输入:

\\服务器IP\share

输入用户名 smbuser 和刚才设置的 Samba 密码。
能进入目录后,新建一个文本文件,再回到服务器查看文件归属和权限:

ls -l /srv/samba/share

如果 Windows 提示“你不能访问此共享文件夹”,优先检查:

  • smbd 服务是否正常运行。
  • 防火墙是否放行 445 端口。
  • valid users 中的用户名是否拼写正确。
  • 目录权限是否允许该用户写入。

在 Linux 客户端上可以临时挂载测试:

sudo mount -t cifs //服务器IP/share /mnt -o username=smbuser

卸载使用 sudo umount /mnt。

常见报错与处理思路

连接被拒绝:多半是 smbd 没启动或防火墙拦截。
用 systemctl status smbd 和 ss -tlnp | grep 445 确认。

提示用户名或密码错误:先用 pdbedit -L 确认 Samba 用户存在,再用 smbpasswd 重置密码。
注意不要和系统密码混淆。

能登录但无法写入:检查共享目录的属主、属组和 writable 参数,同时确认 valid users 包含当前用户。

修改配置后不生效:重启 smbd 后仍无效时,确认编辑的是 /etc/samba/smb.conf,并且没有在文件中间意外注释掉共享段。

完成以上步骤后,Samba 共享通常就能在局域网内正常使用。
生产环境建议按用户或部门拆分目录,避免所有用户共用一个可写共享,降低误删和权限扩散的风险。

分享到:
上一篇
服务器Ext4文件系统调优:挂载参数与日志策略实操
下一篇
服务器SFTP配置教程:从创建用户到连接验证
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意