如何获得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
组。