我正在尝试在我的 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)