主机
我有一个运行Ubuntu 12.04的主机,位于10.0.0.202
。它为网络上的其他机器提供NFS共享。以下是/etc/exports
的内容:
/media/storagedrive 10.0.0.0/24(rw,sync,no_subtree_check)
这里的目的是将/media/storagedrive
的内容共享给网络中IP范围为10.0.0.0 - 10.0.0.255
的其他机器。
工作客户端
这在客户端机器10.0.0.40
上正常工作,运行的是Ubuntu 13.10,被称为MattDev。该机器的/etc/fstab
文件如下:
UUID=8f8c838e-3ea2-457a-87f0-57b12dfab06c / ext4 errors=remount-ro 0 1
UUID=427089d4-46a2-432d-9df4-7016bdfc7df2 none swap sw 0 0
10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive nfs rsize=8192,wsize=8192,timeo=14,intr
而且在那台机器上,ls -al /mnt/
看起来像这样:
total 12K
drwxr-xr-x 3 root root 4.0K Feb 4 17:48 .
drwxr-xr-x 23 root root 4.0K Feb 5 08:44 ..
drwxrwxr-x 7 root plugdev 4.0K Feb 5 11:43 NetworkStorageDrive
id
的输出如下所示:uid=1000(matt) gid=1000(matt) groups=1000(matt),4(adm),24(cdrom),27(sudo),30(dip),33(www-data),46(plugdev),112(lpadmin),124(sambashare)
虚拟客户端未工作
我有第二个客户机器,运行Ubuntu 12.10,作为Windows 7主机机器上的一个客户机操作系统。主机机器在网络上为10.0.0.28
。客户机正在被Vagrant管理,使用VirtualBox 4.3.6作为提供者。我将称Windows 7主机为AlexDevHost,Ubuntu客户机为AlexDevGuest。
在AlexDevGuest上运行showmount -e 10.0.0.202
会产生:
Export list for 10.0.0.202:
/media/storagedrive 10.0.0.0/24
然而,当我尝试挂载共享时,失败了。
$ sudo mount 10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive
mount.nfs: access denied by server while mounting 10.0.0.202:/media/storagedrive
于是我开始寻找问题:
$ ls -alh /mnt/
total 12K
drwxr-xr-x 3 root root 4.0K Feb 5 12:23 .
drwxr-xr-x 26 root root 4.0K Feb 5 12:23 ..
drwxr-xr-x 2 root root 4.0K Feb 5 12:23 NetworkStorageDrive
$ id
uid=1001(vagrant) gid=1001(vagrant) groups=1001(vagrant)
$
那个 uid 和 gid 与 MattDev 上的用户 matt 不同。所以我调整了 vagrant 的 uid,因为我读到 NFS 访问是通过匹配 IP 地址和 uid 来控制的。现在是这样的:
$ id
uid=1000(vagrant) gid=1001(vagrant) groups=1001(vagrant)
$ sudo mount 10.0.0.202:/media/storagedrive /mnt/NetworkStorageDrive
mount.nfs: access denied by server while mounting 10.0.0.202:/media/storagedrive
$
仍然没有成功。所以现在我已经没有想法了。
- 我做错了什么?
- 如果UID部分是正确的,有没有办法我可以验证NFS服务器机器是否将我的访问尝试视为来自
10.0.0.28
,而不是其他不在允许范围内的IP地址?