进一步配置成NAS

一、Samba干什么

  1. Linux 上有一个真实存在的目录(比如 /data)
  2. Samba 把这个目录“共享”出去
  3. Windows 通过 SMB 协议访问

二、确认数据盘状态(必须先对)

2.1 确认 /data 已挂载

lsblk

你应该看到类似:

sdb
└─sdb1  465G  /data

❌ 常见错误

👉 如果没挂载,先别继续


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)

❌ 常见错误


四、创建“专用 Samba 用户”(强烈推荐)

⚠️ 不要用 root
⚠️ 不要直接用系统用户(新手容易权限乱)

4.1 创建一个 NAS 用户(示例叫 nas)

sudo adduser nas

一路按回车即可,密码记住。


4.2 把 /data 的控制权交给这个用户

sudo chown -R nas:nas /data
sudo chmod -R 755 /data

解释:


❌ 常见错误

五、给 Samba 创建“登录密码”(关键)

⚠️ Samba 用户 ≠ Linux 登录用户

5.1 添加 Samba 用户

sudo smbpasswd -a nas

5.2 启用该 Samba 用户

sudo smbpasswd -e nas

❌ 常见错误


六、配置 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

弹出登录框:


方法二:映射为网络驱动器(推荐)

  1. 此电脑 → 右键 → 映射网络驱动器

  2. 路径填写:

    \\192.168.1.100\data
    
  3. 勾选:

    • 使用其他凭据
  4. 输入:

    • 用户名:nas
    • 密码:Samba 密码

九、Windows 连不上的“系统性排查表”

❶ 能 ping,不能访问

ping 192.168.1.100

能通但访问失败:


❷ 提示“找不到网络路径”

Windows 检查 SMB

控制面板 → 程序 → 启用或关闭 Windows 功能
✔ 勾选 SMB 1.0/CIFS(如老系统)


❸ 提示“用户名或密码错误”

👉 清缓存:

net use * /delete

❹ 能进但不能写

👉 修复:

sudo chown -R nas:nas /data

十、你现在的状态应该是