将 NFS 服务器构建为全球可写

将 NFS 服务器构建为全球可写

我正在尝试在我的 Raspberry Pi 上构建一个 NFS 服务器,网络上的任何服务器都可以写入该服务器。 NFS 共享是启动时安装的外部设备上的目录:

$ cat /etc/fstab
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1

# This is my external device
/dev/sda1 /data                 ext4    defaults,nofail         0       2

我的配置/etc/exports如下:

$ cat /etc/exports   
/data *(rw,sync,all_squash,no_subtree_check,anonuid=1000,anongid=1000)
/data/share *(rw,sync,all_squash,no_subtree_check,anonuid=1000,anongid=1000)

1000的用户ID和组ID是pi用户和pi组,它同时拥有/data和/data/share:

$ ls -la /data
total 28
drwxrwxrwx  4 pi   pi    4096 Sep 30 08:41 .
drwxr-xr-x 23 root root  4096 Oct  9 15:54 ..
drwx------  2 pi   pi   16384 Sep 25 14:57 lost+found
drwxrwxrwx  2 pi   pi    4096 Sep 30 08:41 share

当我尝试从 Mac 挂载共享时,出现以下错误:

$ mount 192.168.101.10:/data tmp
mount_nfs: can't mount /data from 192.168.101.10 onto /Users/davejlong/Downloads/tmp: Operation not permitted

这是输出exportfs -v

$ sudo exportfs -v
/data           <world>(rw,wdelay,root_squash,all_squash,no_subtree_check,anonuid=1000,anongid=1000)
/data/share     <world>(rw,wdelay,root_squash,all_squash,no_subtree_check,anonuid=1000,anongid=1000)

我不确定我的配置做错了什么。

答案1

当然,我在提出问题后立即找到了答案:facepalm:

看来我需要将选项添加insecure到我的导出中:

$ cat /etc/exports   
/data *(rw,sync,all_squash,no_subtree_check,insecure,anonuid=1000,anongid=1000)
/data/share *(rw,sync,all_squash,no_subtree_check,anonuid=1000,anongid=1000)

相关内容