Ubuntu系统搭建Samba服务全流程(打造私有网盘)
本文详细介绍了在Ubuntu系统下通过Samba服务搭建私有网盘的完整流程。从环境准备、安装Samba服务、配置共享目录、创建用户,到启动服务、配置防火墙,最后实现多设备访问测试。文章还提供了常见问题排查方法,帮助用户解决访问被拒绝、服务启动失败等常见问题。通过这套方案,用户可以在局域网内实现多设备间的文件共享,甚至通过端口映射实现外网访问,打造专属的跨平台文件共享解决方案。
(本文由AI整理总结)
在日常工作与生活中,我们常常需要在多设备间共享文件。Ubuntu系统下的Samba服务能帮我们实现这一需求,将本地目录变身为可跨设备访问的私有网盘。本文将详细介绍从环境准备到多设备访问的完整流程。
一、环境准备
1. 检查系统信息
首先,我们需要了解系统的基本情况,以便后续操作。打开终端,执行以下命令:
# 查看系统版本
lsb_release -a
# 查看磁盘分区(选择空间充足的分区创建共享目录)
df -h

2. 确认网络状态
确保服务器已连接网络,并记录内网IP(后续设备访问需要用到):
ip addr show | grep -E "inet " | grep -v 127.0.0.1

二、安装Samba服务
1. 安装Samba软件包
更新软件源并安装Samba服务,在终端输入:
# 更新软件源
sudo apt update
# 安装Samba服务
sudo apt install -y samba samba-common

2. 验证安装状态
安装完成后,检查Samba版本和服务状态:
# 查看Samba版本
smbd --version
# 检查服务状态(刚安装后默认未启动)
sudo systemctl status smbd nmbd

三、配置共享目录
1. 创建共享目录
选择空间充足的分区创建共享目录(这里以/data/storage/share为例):
# 创建目录
sudo mkdir -p /data/storage/share
# 设置目录所有者(替换为当前用户名,如user)
sudo chown -R $USER:$USER /data/storage/share
# 设置目录权限(确保读写权限)
sudo chmod -R 775 /data/storage/share

2. 配置Samba共享规则
编辑Samba主配置文件:
sudo nano /etc/samba/smb.conf
在文件末尾添加如下共享配置(可根据实际情况修改):
[share]
# 共享名称(访问时显示)
comment = Private Cloud Storage
# 共享目录绝对路径
path = /data/storage/share
# 允许网络可见
browseable = yes
# 允许写入操作
writable = yes
# 禁止匿名访问
guest ok = no
# 允许访问的用户(替换为实际用户名)
valid users = user
# 新建文件权限
create mask = 0644
# 新建目录权限
directory mask = 0755
保存退出(Ctrl+O → 回车 → Ctrl+X)。
3. 验证配置文件语法
执行以下命令验证配置文件语法是否正确:
testparm
若显示Loaded services file OK.,则表示配置正确。
四、创建Samba用户
Samba用户需基于系统已存在的用户,操作步骤如下:
- 确认系统用户存在(以
user为例):id user # 输出用户ID信息表示存在 - 添加Samba用户并设置密码:
输入并确认密码(与系统密码可不同)。sudo smbpasswd -a user - 验证用户添加成功:
pdbedit -L # 列出所有Samba用户,应包含user

五、启动并配置Samba服务
1. 启动服务
启动Samba的核心服务smbd(文件共享)和nmbd(名称解析),并设置开机自启:
# 启动smbd和nmbd
sudo systemctl start smbd nmbd
# 设置开机自启
sudo systemctl enable smbd nmbd
2. 验证服务状态
执行命令查看服务状态,需显示active (running):
sudo systemctl status smbd nmbd

六、配置防火墙
1. 放行Samba端口(UFW防火墙)
Samba服务需要用到TCP的139和445端口,执行以下命令放行:
# 允许Samba所需端口
sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
# 重新加载防火墙规则
sudo ufw reload
# 查看规则是否生效
sudo ufw status

七、访问测试
1. 服务器本地测试
在服务器上本地连接共享,验证服务是否正常:
# 连接本地共享
smbclient //localhost/share -U user
输入密码后进入smb:\>交互界面,说明服务正常。
2. 局域网设备访问
Windows系统
- 打开「文件资源管理器」,在地址栏输入:
\\服务器内网IP\share(例如\\192.168.1.100\share)。 - 输入Samba用户名和密码,即可访问共享目录。

手机设备(以ES文件浏览器为例)
- 打开APP → 「网络」→ 「SMB」→ 「新建连接」。
- 输入服务器IP、用户名、密码,连接后访问
share目录。
3. 外网访问配置(可选)
通过路由器端口映射实现外网访问:
- 登录路由器管理后台(例如
192.168.1.1)。 - 添加端口映射规则,如下表:
| 规则名称 | 内部IP | 内部端口 | 外部端口 | 协议 |
|---|---|---|---|---|
| Samba1 | 192.168.1.100 | 139 | 139 | TCP |
| Samba2 | 192.168.1.100 | 445 | 445 | TCP |
- 外网设备通过「外网IP+共享名称」访问(例如
\\220.181.XX.XX\share)。
八、常见问题排查
1. 访问被拒绝(NT_STATUS_ACCESS_DENIED)
如果出现访问被拒绝的情况,检查目录权限并重新设置:
# 检查目录权限
ls -ld /data/storage/share
# 重新设置权限
sudo chown -R user:user /data/storage/share
sudo chmod -R 775 /data/storage/share
2. 服务启动失败
查看错误日志,检查配置文件语法:
# 查看错误日志
journalctl -xeu smbd.service
# 检查配置文件语法
testparm
3. 防火墙拦截
可临时关闭防火墙测试,测试后重新启用:
# 临时关闭防火墙测试
sudo ufw disable
# 测试后重新启用
sudo ufw enable
通过以上完整流程,我们成功在Ubuntu系统上搭建了Samba服务,实现了本地目录的跨设备共享,打造出专属的私有网盘,满足多设备文件共享的需求。
更多推荐
所有评论(0)