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

情况:我只是希望能够从非root用户的Ubuntu服务器访问Synology NAS。

在NAS上我在exports文件中有这个:

/Directory /255.255.255.0(rw,async,no_wdelay,no_root_squash,insecure_locks,sec=sys,anonuid=1003,anongid=1004) 

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

 :/Directory /Mountpoint nfs noauto,user,rw 0 0 

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

 mount /Mountpoint 

安装为UserA工作正常,但我没有权限甚至读取目录中的内容。 作为用户root我做。 列出mountpoint文件夹会显示以下权限:

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

我试图将导出中的anon-id设置为UserA的ID,但这没有帮助。 使UserA成为该文件夹的所有者也没有帮助。 我错过了一件简单的事吗?

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

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

usera成为UserA的主要组( groups usera )。 你可以在客户端系统上使用: id -g usera找出GID,比如它是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组。