进一步配置成NAS
一、Samba干什么
- Linux 上有一个真实存在的目录(比如
/data) - Samba 把这个目录“共享”出去
- Windows 通过 SMB 协议访问
二、确认数据盘状态(必须先对)
2.1 确认 /data 已挂载
lsblk
你应该看到类似:
sdb
└─sdb1 465G /data
❌ 常见错误
- 没看到
/data- 说明没挂载成功
- Samba 共享“空气”,Windows 一定连不上
👉 如果没挂载,先别继续
2.2 确认目录真实存在
ls -ld /data
正常示例:
drwxr-xr-x 3 root root 4096 /data
三、安装 Samba(从系统层开始)
3.1 安装 Samba
sudo apt update
sudo apt install -y samba
安装完成后,系统会自动启动服务。
3.2 确认 Samba 服务状态
systemctl status smbd
应看到:
Active: active (running)
❌ 常见错误
-
inactive/failedsudo systemctl start smbd sudo systemctl enable smbd
四、创建“专用 Samba 用户”(强烈推荐)
4.1 创建一个 NAS 用户(示例叫 nas)
sudo adduser nas
一路按回车即可,密码记住。
4.2 把 /data 的控制权交给这个用户
sudo chown -R nas:nas /data
sudo chmod -R 755 /data
解释:
nas:nas→ 这个用户能完整读写755→ 其他用户可读,不可乱写
❌ 常见错误
- Windows 能看到文件,但删不了 / 新建不了
- 99% 是 Linux 权限问题
- 用的不是
chown
五、给 Samba 创建“登录密码”(关键)
5.1 添加 Samba 用户
sudo smbpasswd -a nas
- 输入密码(可以和 Linux 用户一样,也可以不同)
- 再输入一次确认
5.2 启用该 Samba 用户
sudo smbpasswd -e nas
❌ 常见错误
- Windows 一直提示“用户名或密码错误”
- 忘了
smbpasswd - 不是 Linux 密码的问题,是 Samba 密码
- 忘了
六、配置 Samba 共享(最核心)
6.1 编辑配置文件
sudo nano /etc/samba/smb.conf
滚动到文件最底部,追加:
[data]
comment = Data Disk
path = /data
browseable = yes
writable = yes
valid users = nas
force user = nas
force group = nas
create mask = 0664
directory mask = 0775
每一项在干什么(非常重要)
| 配置 | 含义 |
|---|---|
[data] |
Windows 里看到的共享名 |
path |
实际 Linux 目录 |
valid users |
只允许 nas |
force user |
强制用 nas 写文件 |
browseable |
Windows 能看到 |
writable |
可写 |
mask |
新文件 / 目录权限 |
6.2 检查配置是否有语法错误
testparm
如果最后一行是:
Loaded services file OK.
说明配置没问题。
❌ 常见错误
- 少了空格 / 拼错字段
- 用了中文符号
6.3 重启 Samba 服务
sudo systemctl restart smbd
七、服务器网络检查(Windows 连不上的大头)
7.1 查看服务器 IP
ip a
例如:
inet 192.168.1.100/24
记住这个 IP。
7.2 确认防火墙状态(Ubuntu 常见坑)
sudo ufw status
情况 A:Status: inactive
✅ 没问题
情况 B:active
sudo ufw allow samba
sudo ufw reload
否则 Windows 会 能 ping 通,但连不上共享
八、Windows 端连接(两种方式)
方法一:资源管理器(最直观)
在地址栏输入:
\\192.168.1.100\data
弹出登录框:
- 用户名:
nas - 密码:你刚设置的 Samba 密码
方法二:映射为网络驱动器(推荐)
-
此电脑 → 右键 → 映射网络驱动器
-
路径填写:
\\192.168.1.100\data -
勾选:
- 使用其他凭据
-
输入:
- 用户名:
nas - 密码:Samba 密码
- 用户名:
九、Windows 连不上的“系统性排查表”
❶ 能 ping,不能访问
ping 192.168.1.100
能通但访问失败:
- 防火墙没放行 Samba
- Samba 服务没运行
- smb.conf 配错
❷ 提示“找不到网络路径”
- IP 写错
- 不在同一局域网
- Windows SMB 服务被禁用
Windows 检查 SMB
控制面板 → 程序 → 启用或关闭 Windows 功能
✔ 勾选 SMB 1.0/CIFS(如老系统)
❸ 提示“用户名或密码错误”
- 用了 Linux 密码而不是 Samba 密码
- 用户名写成
nas@hostname - 之前输错被 Windows 记住了
👉 清缓存:
net use * /delete
❹ 能进但不能写
/data权限不对- 没
force user - 用 root 创建的文件
👉 修复:
sudo chown -R nas:nas /data
十、你现在的状态应该是
/data是 sdb 机械盘- Windows 能像“网络硬盘”一样访问
- NAS-Panel / Docker / qB 都可以直接用这个路径