如何使用 Synology NAS 配置 Linux NFSv4 客户端的权限?

如何使用 Synology NAS 配置 Linux NFSv4 客户端的权限?

我有一台已建立的 Linux 服务器(Ubuntu 12.04)和一台新的 Synology NAS,但在挂载点上获取正确的 NFS 用户权限时遇到了问题。

该服务器还可以毫无问题地挂载来自另一台 Ubuntu 服务器的 NFS 导出,但该 NFS 服务器和客户端上的 UID 相同(范围从 1001 到 1015)。对于 Synology,UID 从 1024 开始。

下面几行/etc/fstab是 Synology 和其他示例展示如何配置安装。

nas:/volume1/Video      /mnt/nas/Video  nfs     nouser,rsize=8192,wsize=8192,atime,auto,rw,dev,exec,suid        0       0

我配置idmapd.conf如下:

[General]
Verbosity = 0
Pipefs-Directory = /run/rpc_pipefs
# set your own domain here, if id differs from FQDN minus hostname
Domain = SYNOLOGY

[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup

[Static]
homenas@SYNOLOGY = homenas

此时,当我挂载文件夹时,一切看起来都正确,直到我创建一个文件。该文件归 nobody.nogroup 所有,但我仍然可以对其进行更改。

$ id
uid=1002(homenas) gid=1002(homenas) groups=1002(homenas)
$ pwd
/mnt/nas/Video
$ ls -l test
ls: cannot access test: No such file or directory
$ touch test
$ ls -l test
-rw-rw-r-- 1 nobody nogroup 0 Dec 24 15:30 test
$ rm test

当 UID 不匹配时,如何正确挂载 NFS 共享并保留正确的用户权限并强制执行这些权限?

答案1

添加。nfsvers=3/etc/fstab

nas:/volume1/Video      /mnt/nas/Video  nfs     nfsvers=3,nouser,rsize=8192,wsize=8192,atime,auto,rw,dev,exec,suid        0       0

该问题仅出现在 NFS 版本 4 中,如果您指定需要 NFS 版本 3,则可以解决该问题。

答案2

我还是没有好的回答这个问题。除了在环境中部署 NIS 之外,似乎没有一种好的方法可以在 Synology 上实现多用户 NFS。

与此同时,我已开始使用 CIFS,因此我可以在嵌套挂载点挂载共享,我可以使用本地组权限进行访问控制。使用 CIFS 身份验证可使所有权与 Synology 设备上的单个用户保持一致,但权限仍然不稳定。

该行/etc/fstab主要使用默认设置:

//nas/media     /mnt/nas/media  cifs    uid=ubuntuuser,gid=ubuntugroup,rw,credentials=/etc/cifspwd,_netdev   0       0

在这种情况下,挂载点的父文件夹 ( /mnt/nas) 控制对挂载点 ( /mnt/nas/media) 的访问,其中所有文件的模式均为 0777。

相关内容