如何在 Ubuntu 上设置 NFS 服务器

如何在 Ubuntu 上设置 NFS 服务器

我正在尝试在我的 Ubuntu 服务器上设置一个 NFS 服务器,以便从我的 Mac OS X 10.6.4 桌面进行访问。我在 Ubuntu 端按照以下步骤开始本指南(快速启动)。当我最终尝试访问 Mac 上的 NFS 共享时,我得到了以下信息:

[/Network] cd fileserver 
cd:cd:1: permission denied: fileserver

我终于成功了。下面我将概述如何操作。

服务器设置(Ubuntu 10.10)

/etc/exports

/export                 *(rw,sync,no_root_squash,no_subtree_check)
/export/fileserver      *(rw,sync,no_root_squash,no_subtree_check)
/export/fileserver2     *(rw,sync,no_root_squash,no_subtree_check)

/etc/fstab

/fileserver/a/root   /export/fileserver  none   bind          0       0
/fileserver/b/root   /export/fileserver2 none   bind          0       0

客户端设置(Mac OS X 10.6.7)

关键问题是id -u tsigo服务器上是 1000,而在 Mac 上是 501。为了改变这种情况,我遵循了本指南请注意,这会带来潜在的灾难;请严格遵守指示。如果我再次这样做,我会在服务器上更改我的 ID。

更改我的用户 ID 并重新启动后,一切就变得非常简单了。

打开磁盘实用程序,转到文件> NFS 挂载并添加新条目。

NFS URL:nfs://gluttony/export/fileserver 挂载位置:/Network/fileserver 高级挂载参数:-i,-s,-P

答案1

正确,您需要在客户端和服务器上使用相同的uid。虽然您可以在不“更改”客户端或服务器上的文件所有者的情况下实现这一点。如果您在导出文件中使用anonuid和,all_squash则可以将任何您想要的映射uid到访问共享的客户端。

导出文件示例:

/home/brian   *(rw,async,no_subtree_check,insecure,anonuid=1000,all_squash)

鉴于/home/brian权限,drwxr-xr-x 24 1000 1000您将拥有完全访问权限。希望这能有所帮助。

PS 这也应该适用,anongid但由于某些奇怪的原因,它并不适用。

答案2

您需要在两台计算机之间拥有相同的 uid。如果您的 Mac 用户的 uid 为 501,而 Ubuntu 用户的 uid 为 1000,那么使用您当前的权限,您将正确获得“权限被拒绝”信息。您看,您只有用户才拥有完全访问权限齐戈其他人都只有目录的读取权限。

您要么需要使 uid 匹配,要么向组和/或其他人授予更多权限。权限不足以让任何人进入目录,您还需要授予+x

相关内容