如何获取 nfs 共享的用户权限?

如何获取 nfs 共享的用户权限?

情况:我只是想以非 root 用户身份从 Ubuntu 服务器访问 Synology NAS。

在 NAS 上,我的导出文件中有以下内容:

/Directory <client-ip>/255.255.255.0(rw,async,no_wdelay,no_root_squash,insecure_locks,sec=sys,anonuid=1003,anongid=1004)

在 Ubuntu-Server 的 fstab 中我得到了这个:

<server-ip>:/Directory  /Mountpoint nfs noauto,user,rw 0 0

现在我想允许UserA用于一些自动进程来挂载共享并对其进行写入。

mount /Mountpoint

以 UserA 身份挂载没问题,但我甚至没有权限读取目录中的内容。作为 root 用户,我可以读取。列出挂载点文件夹会显示以下权限:

drwxrwx--- 4 UserA root 4096 Sep 17 13:58 Mountpoint

我尝试将导出中的 anon-id 设置为 UserA 的 id,但这没有帮助。将 UserA 设为文件夹的所有者也无济于事。我是不是忽略了一件简单的事情?

另外:这需要是一个 nfs 共享,因为它将传输大量数据。

编辑:出于安全原因,我宁愿避免向“其他人”授予读写权限。

答案1

usera成为 UserA 的主组(groups usera)。您可以使用以下方式找出 GID:id -g usera在客户端系统上,假设它是1256。现在将您的用户添加到usera组中:

sudo adduser ayven usera

现在,在服务器上执行以下操作:

chown :1256 /Directory # Replace 1256 with the correct GID
chmod g+rwxs /Directory

在客户端上重新挂载:

sudo umount /Directory
sudo mount /Directory

(您可能需要重新登录才能使新组生效。)

现在您和 都usera可以完全访问 NFS 共享。我已经使用了该setgid位,所以您可能必须启用它,我不记得了。将您希望有权访问此目录的任何用户添加到组中usera

相关内容