在 Arch Linux 上搭建个人 NAS:Samba 与 Tailscale 入门

Sirui Liu Lv4

语言: English | 简体中文

发布日期:2025-05-25

这是我最早的技术博客之一,记录了把闲置电脑改造成个人 NAS 的过程。

项目起点

早期寻找 Co-op 的经历让我意识到,需要用能运行的工程项目积累经验。恰好我有一台闲置电脑和约 500 GiB 存储,也有朋友在搭 NAS,于是决定从 Linux 命令行、文件共享和网络配置开始实践。

NAS(Network-Attached Storage)通过网络集中提供共享存储,可以理解为多台电脑都能访问的一块远程磁盘。除了传文件,也能运行媒体服务。我在自己的 NAS 上使用 Docker,并部署了 Jellyfin。

这个项目让我开始接触实际 CLI、共享协议,随后延伸到容器管理和多媒体服务。

准备条件
  • 一台可以安装系统并提供存储的闲置电脑。
  • 能安装 Linux 发行版;本文使用 Arch。
  • 了解基本 Linux 命令行。

其他发行版也可以借鉴流程,但包管理命令和路径需按实际环境调整。

Samba 的作用

Samba 通过 SMB/CIFS 为 Linux / Unix 与 Windows、macOS 等设备提供文件和打印共享。这里使用 Samba 解决跨平台传输;如果全部客户端都是 Linux,也可以评估 NFS。

安装并启动

1
2
sudo pacman -S samba
sudo systemctl enable --now smb

smb.service 负责基础文件共享。若需要 macOS 上的服务发现,可进一步了解 Avahi 等相关配置。

目录与权限

我把共享内容集中放在 /srv/nas/share,也可以按用途继续分目录。

1
2
3
sudo mkdir -p /srv/nas/share
sudo chown -R root:root /srv/nas
sudo chmod 755 /srv/nas
权限数字 对应权限 含义
7,owner rwx 读、写、进入目录
5,group r-x 读与进入,不可写
5,others r-x 读与进入,不可写

755 不代表所有人都能写。若只有本人使用,可按目录所有权考虑更严格权限;共享子目录本身也必须为实际用户配置适当的 Linux 权限。

创建共享用户

1
2
3
sudo useradd -M -s /usr/bin/nologin nasuser
sudo passwd nasuser
sudo smbpasswd -a nasuser

nasuser 可换成自己的用户名。系统账户与 Samba 密码是相关但不同的配置;Windows 等客户端连接时使用 Samba 凭据。

最小配置示例

Arch 环境下需要自行准备 smb.conf。原文使用一个简化的 public share 示例:

1
2
3
4
5
6
7
8
9
10
11
[global]
workgroup = WORKGROUP
server string = Samba Server
security = user
map to guest = Bad User

[Public]
path = /srv/samba/public
browseable = yes
read only = no
guest ok = yes

这里的 /srv/samba/public 是配置示例路径,应替换为实际创建并授予权限的目录,例如前面的 /srv/nas/share。Public 是客户端看到的共享名。允许 guest 的示例与账号登录的共享需求不同,需要按自己的使用方式配置;Samba 设置也不会绕过底层目录权限。

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

1
2
testparm
sudo systemctl restart smb

通过 Tailscale 访问

我的设备加入 tailnet 后,可以由另一台同样加入网络的客户端使用 Tailscale 地址连接 SMB,不必在路由器上直接开放共享端口。

Windows 连接格式是:

1
\\100.x.y.z\Public

地址应替换为自己的 NAS Tailscale 地址,共享名必须与配置中的 section 一致。本文使用的是私有 tailnet 访问方式。

后续计划

  • 配置回收站,把误删文件放入 .RecycleBin。
  • 使用 Docker 继续运行 NAS 服务。
  • 随维护经历补充权限、网络和容器方面的记录。

参考

  • 标题: 在 Arch Linux 上搭建个人 NAS:Samba 与 Tailscale 入门
  • 作者: Sirui Liu
  • 创建于 : 2025-05-25 18:50:20
  • 更新于 : 2026-10-25 12:00:00
  • 链接: https://vanquisher.world/zh-CN/2025/05/25/NAS-Network-Attached-Storage-simple-building-on-Arch-Linux/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。