14.04如何获取 Synology NAS的NFS共享的读/写访问权限?

分享于 

3分钟阅读

ubuntu

  繁體

问题

我对挂载的NFS共享有只读访问权限。

使用sudo不允许写入。

Synology NAS:DS214> id usernameuid=1026(username) gid=100(users) groups=100(users),101(administration)

没有squash (没有映射)DS214> cat /etc/exports/volume1/Files 10.1.1.2(rw,async,no_wdelay,no_root_squash,insecure_locks,sec=sys,anonuid=1025,anongid=100)

所有squash (将所有用户映射到admin )DS214> cat /etc/exports/volume1/Files 10.1.1.2(rw,async,no_wdelay,all_squash,insecure_locks,sec=sys,anonuid=1024,anongid=100)

Ubuntu客户端:$ cat /etc/fstab10.1.1.214:/volume1/Files /mnt/nfs/Files nfs rw,user,auto 0 0

$ id usernameuid=1000 gid=1000(username) groups=1000(username), <etc>

$ ls -n /mnt/nfsdrwxrwxrwx 9 0 0 4096 Sep 25 01:28 Files

$ ls -n /mnt/nfs/Filesdrwxr-xr-x 11 1026 100 4096 Sep 24 22:05 Data

使用sudo enabled write access,我可以在挂载的NFS共享中打开文件, sudo vi /mnt/nfs/Files/Data/test.file 但即使使用sudo,也不能将更改写入文件,the vi Error message upon :w command is :! "test.file" E212: Can't open file for writing


答案1

要解决这个问题,可以执行多种操作之一:

  • 在NAS上,将文件的所有者更改为1000,你需要创建特定的帐户,这对其他服务有何影响。

  • 将本地用户的UID更改为1026

  • 由于是唯一一个访问服务器上的文件的人,你可以让服务器假设所有请求都来自正确的UID,为此,NFS有选项all_squash,它告诉服务器将所有请求映射到匿名用户,由anonuid,anongid指定。

    添加optionss all_squash,anonuid=1026,anongid=100/etc/exports中导出。

  • 在我看来,Samba是实现这个的最简单方法。


    答案2

    执行showmount -e 10.1.1.214查看导出选项,Permission denied错误来自NFS服务器本身,尝试将选项从rw,user,auto更改为defaults



    acc  SHA  syn  分享  NAS  Synology