查找 NFS /etc/exports 的 Mac OS 客户端的主机名(权限被拒绝)

查找 NFS /etc/exports 的 Mac OS 客户端的主机名(权限被拒绝)

我正在尝试设置 NFS 服务器来在 Mac 客户端上浏览远程 Ubuntu 服务器上的文件。

我无法找出在条目中放置什么作为我的客户端主机名/地址/etc/exports。我认为它应该是客户端的 IP 地址,但我似乎遇到了权限问题。似乎唯一有效的方法是使用通配符*作为主机名/地址。

在Mac客户端上,我执行以下命令:

$ ifconfig | grep "inet " | grep -v 127.0.0.1
inet 192.168.1.112 netmask 0xffffff00 broadcast 192.168.1.255

我在 Ubuntu 服务器的/etc/exports文件中使用该 IP 地址,如下所示:

/home/user 192.168.1.112(insecure,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)

Mac/etc/auto_master看起来像这样:

/net            -hosts      -nobrowse,nosuid,locallocks,nfc,actimeo=1

sudo exportfs -vra在服务器和sudo automount -vcMac 客户端上运行后,当我尝试运行时仍然收到“权限被拒绝”:

$ ls /net/<REMOTE IP>/home/user
ls: /net/<REMOTE IP>/home/user: Permission denied

但是,当我将服务器更改/etc/exports为通配符时,我可以ls成功运行命令:

/home/user *(insecure,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)

但是,我知道从安全角度来看这并不是最佳选择。

我尝试了 Mac IP 地址的几种不同变体,但除非使用通配符指定,否则我似乎无法解决权限问题,这让我相信除了地址之外我的其他设置都很好。

我怎样才能找到正确的地址并放入此条/etc/exports目中?

答案1

客户端挂载文件系统后,showmount在服务器上运行。这将向您展示服务器对客户端地址的理解。 (如果服务器显示名称但您想要地址,则host在服务器上使用命令或类似的命令从名称中获取地址。)然后您可以将文件系统导出范围缩小到仅该地址。

服务器看到的地址可能会不时发生变化。如果发生这种情况,那么您将不得不重复此练习。

如果服务器位于互联网上,那么您可能可以通过使用网络浏览器中的隐身/私人页面来访问类似网站来找到为您的客户端分配的外部地址https://www.ipaddress.com/或者https://whatismyipaddress.com/或者https://showip.net/。这比不断向世界开放 NFS 导出、挂载文件系统然后运行showmount​​.

相关内容