内网服务器文件共享,Samba搭建文件服务器

内网文件共享最常用的方案是 Samba,它能让 Linux 服务器以 SMB 协议向 Windows、macOS 和手机客户端提供共享目录。
本文从零开始,在 Linux 上用 Samba 搭建文件服务器,最终实现 Windows 电脑通过 \\服务器IP\共享名 直接读写文件。

先确认环境:一台 Linux 服务器(Ubuntu、Debian、CentOS 均可),一个固定内网 IP,以及需要共享的目录路径。
以下操作需要 root 权限或 sudo 权限,建议在内网环境测试后再正式使用。

安装 Samba 并确认服务状态

不同发行版包管理器不同,按实际情况选择一条命令执行。

Ubuntu / Debian:

sudo apt update
sudo apt install samba -y

CentOS / Rocky Linux:

sudo yum install samba samba-client -y

安装完成后确认版本和服务状态:

smbd --version
systemctl status smbd

如果服务未启动,先执行 sudo systemctl start smbd,并设置开机自启 sudo systemctl enable smbd。
注意 CentOS 上服务名可能是 smb 而不是 smbd,用 systemctl list-units | grep smb 确认。

创建共享目录并设置系统权限

假设共享目录为 /srv/share,先创建目录并设置一个专用用户。

sudo mkdir -p /srv/share
sudo useradd -M -s /sbin/nologin smbuser
sudo chown -R smbuser:smbuser /srv/share
sudo chmod -R 2770 /srv/share

这里用 -M 表示不创建家目录,-s /sbin/nologin 禁止该用户登录系统,
只用于 Samba 认证。2770 中的 2 是设置组继承位,
新建文件会自动继承目录所属组,
方便多人协作。

接着给 Samba 用户设置密码,这个密码和系统密码是分开的:

sudo smbpasswd -a smbuser

按提示输入两次密码即可。
如果提示用户不存在,先确认系统用户是否创建成功。

编辑 smb.conf 配置共享

Samba 主配置文件通常位于 /etc/samba/smb.conf。
修改前先备份:

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

在文件末尾追加共享配置:

[share]
   comment = Internal File Share
   path = /srv/share
   browseable = yes
   writable = yes
   valid users = smbuser
   create mask = 0660
   directory mask = 2770

关键项说明:path 是共享目录路径;valid users 限制只有 smbuser 能访问;writable = yes 允许写入;create mask 和 directory mask 控制新建文件和目录的权限。

保存后检查配置语法:

testparm

如果输出中没有报错,重启服务:

sudo systemctl restart smbd

放行防火墙端口

Samba 依赖 139 和 445 端口。
如果系统开了防火墙,需要放行。

firewalld(CentOS 系):

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

ufw(Ubuntu 系):

sudo ufw allow samba
sudo ufw reload

如果是云服务器,还要在控制台安全组中放行 445 端口,仅限内网 IP 段访问更安全。

从 Windows 客户端验证访问

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

\\服务器内网IP\share

回车后会弹出登录框,输入用户名 smbuser 和刚才设置的 Samba 密码。
能打开目录并新建文件,说明共享成功。

也可以先在服务器本机自测:

smbclient -L localhost -U smbuser

能列出共享名即表示服务端正常。
如果 Windows 提示“你不能访问此共享文件夹”,优先检查防火墙 445 端口是否放行、valid users 是否包含当前用户、以及 Samba 密码是否设置成功。

容易踩坑的几个点

权限问题最常见。
系统目录权限、Samba 配置里的 valid users 和 write list 三者要一致,否则会出现能登录但无法写入的情况。

SELinux 也可能拦截写入。
CentOS 系如果开启了 SELinux,需要执行:

sudo setsebool -P samba_export_all_rw on

或者给目录打上正确标签:

sudo semanage fcontext -a -t samba_share_t "/srv/share(/.*)?"
sudo restorecon -Rv /srv/share

另外,Windows 10/11 默认可能禁用 SMB1,Samba 新版本默认也不启用,一般不需要改动。
如果客户端是较老的设备,再考虑兼容性设置。

常见疑问

匿名访问怎么配置? 在共享段中把 valid users 改为 guest ok = yes 和 guest account = nobody,同时确保目录权限允许 nobody 读写。
但内网也建议至少用密码认证。

能不能多个用户各自独立目录? 可以。
为每个用户创建单独共享段,path 指向各自目录,valid users 写对应用户名,再通过 write list 控制写入权限。

共享速度慢怎么办? 先确认网络是千兆内网,其次检查服务器磁盘 IO。
Samba 本身性能开销不大,瓶颈通常在网络或硬盘。

如何查看当前连接? 用 smbstatus 可以查看已连接的会话、共享和锁定文件,排查占用时比较有用。

内网服务器文件共享用 Samba 搭建文件服务器,核心就是三件事:系统用户和目录权限、smb.conf 共享段配置、防火墙放行。
按本文顺序执行并验证,多数环境都能一次跑通。
遇到异常时,优先回看权限和防火墙这两部分。

分享到:
上一篇
机房网络拓扑图绘制,服务器网络架构文档
下一篇
IT运维服务SLA协议,故障响应承诺标准
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 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意