NFS 共享给 Linux:共享文件夹 NFS 权限、Squash 与挂载参数
适用场景
公司上了 Linux 应用服务器、备份机或者虚拟化平台,需要把群晖 NAS 的空间挂过去当数据盘用——这是企业级 NAS 在 Linux 环境的常规玩法。走 NFS 协议,配置分两侧:NAS 上开服务、定规则;Linux 上挂载。两侧参数对不上,就会出现"挂上了却全是 nobody"或"只读写不进"这类典型故障。
NAS 侧:开服务、建规则
先到控制面板 > 文件服务 > NFS 启用 NFS 服务(协议版本选 NFSv4,权限控制和防火墙兼容性更好)。然后进共享文件夹 > 选中目标共享 > 编辑 > NFS 权限 > 创建,逐项定义规则:
- 主机名或 IP:允许谁连。三种写法——单一主机填具体 IP;通配符如
*.example.com(这种写法要求客户端 IP 有对应 DNS PTR 记录);IP 网段如192.168.10.0/24。原则是按需收敛,只给需要的服务器,别图省事写星号放行全网; - 权限:读写或只读。备份目标、日志归档这类单向写入场景,先评估是否只读更稳妥;
- 安全性:AUTH_SYS 靠客户端的 UID/GID 判权限,配起来简单,适合可信内网;Kerberos 三档(验证/完整性/隐私性)适合有域环境或对传输安全有硬要求的场合,需要在文件服务 > NFS > 高级设置里配 Kerberos,并在客户端侧完成对应加域映射;
- Squash:把客户端用户"降格"映射的关键选项,下面单说;
- 启用异步:勾上后 NAS 可先应答再落盘,性能更好;代价是断电瞬间可能丢尾部少量写入,有 UPS 保护的机房可以开;
- 允许来自非特权端口的连接:默认别勾,保持只收 1024 以下特权端口更安全,个别容器环境连不上时再针对性放开;
- 允许用户访问装载的子文件夹:客户端会在共享下再挂子目录的场景需要勾上。
Squash 五个选项怎么选
Squash 决定 NFS 客户端上的用户以什么身份进来:
- 无映射:客户端连 root 都保有原始权限,等于把 NAS 的门钥匙交出去,仅限完全可信的单一用途服务器;
- 映射 root 为 admin / 映射 root 为 guest:只压制 root,普通用户照常——服务器上跑服务的账号是普通用户时,选这两个之一(要能写就 admin,纯读取就 guest);
- 映射所有用户为 admin / 映射所有用户为 guest:全部压平。AUTH_SYS 下客户端与 NAS 的 UID/GID 数值不一致是"全是 nobody"故障的头号原因,此时把所有用户映射为 admin,或直接把共享权限授给 Everyone,是官方给的两个解法。
另注意:如果共享建在 NTFS/FAT 文件系统的外部设备上,会强制应用"映射所有用户为 admin"。
Linux 侧:挂载与参数对照
确认 NAS 规则后,Linux 端先探测再挂载:
showmount -e 192.168.10.20 # 查看 NAS 导出了哪些共享
mount -t nfs -o vers=4,hard,timeo=600,retrans=3 192.168.10.20:/volume1/appdata /mnt/appdata
参数对应关系:vers=4 对应 NAS 上选的 NFSv4;生产业务建议 hard(服务恢复后自动续上,避免应用写丢失),备份类任务可用 soft 防卡死;rsize/wsize 可调到 131072 以上提吞吐。持久化写进 /etc/fstab:
192.168.10.20:/volume1/appdata /mnt/appdata nfs4 hard,timeo=600,_netdev 0 0
常见坑
- 挂载成功但目录全是 nobody、写不进——九成是 UID 不一致,回 NAS 改 Squash 或补 Everyone 权限;
- 网段写法
192.168.10.0/24在 DSM 里合法,写成掩码形式255.255.255.0也可以; - 防火墙只顾 SMB 不放行 NFS 端口,表现为 showmount 都不通;
- 协议选型拿不准 SMB 还是 NFS,参考SMB与NFS与iSCSI选型。
小结
NFS 共享的配置口诀:服务开 v4、规则收敛到具体网段、Squash 按"压制 root、压平所有用户"的信任梯度选、异步配 UPS、Linux 端 hard 挂载进 fstab。照着这套组合,Linux 服务器接 NAS 一次就能配稳。
如需为贵单位打通 Linux 服务器与 NAS 的存储对接,或了解群晖企业级 NAS 产品,欢迎联系贵州诚鑫致达科技。