next up previous contents
下一篇: 自动挂载器 上一级: 网络文件系统 上一篇: NFS 守护进程

exports 文件

虽然以上选项应用于客户端的 NFS 配置,但在服务器端还有另一组选项,用于配置其针对每个客户端的行为。这些选项必须在 /etc/exports 文件中设置。

默认情况下,mountd 默认不允许任何人从本地主机挂载目录,这是一种相当合理的做法。要允许一台或多台主机 NFS 挂载目录,该目录必须被导出,即必须在 exports 文件中指定。一个示例文件可能如下所示:

     # exports file for vlager
     /home             vale(rw) vstout(rw) vlight(rw)
     /usr/X386         vale(ro) vstout(ro) vlight(ro)
     /usr/TeX          vale(ro) vstout(ro) vlight(ro)
     /                 vale(rw,no root squash)
     /home/ftp         (ro)
每行定义一个目录,以及允许挂载它的主机。主机名通常是完全限定域名,但也可能包含 * 和 ? 通配符,它们的行为方式与 Bourne shell 中的通配符相同。例如,lab*.foo.com 匹配 lab01.foo.com 以及 laber.foo.com。如果没有给出主机名,就像上面示例中的 /home/ftp 目录一样,则任何主机都可以挂载此目录。

当根据 exports 文件检查客户端主机时,mountd 将使用 gethostbyaddr(2) 调用查找客户端的主机名。对于 DNS,此调用返回客户端的规范主机名,因此您必须确保不在 exports 中使用别名。如果不使用 DNS,返回的名称是在 hosts 文件中找到的与客户端地址匹配的第一个主机名。

主机名后面可以跟一个可选的、逗号分隔的标志列表,用方括号括起来。这些标志可以取以下值:

insecure
允许来自此计算机的非认证访问。
unix-rpc
要求来自此计算机的 UNIX 域 RPC 认证。这仅要求请求源自保留的互联网端口(即端口号必须小于 1024)。此选项默认开启。
secure-rpc
要求来自此计算机的安全 RPC 认证。此功能尚未实现。请参阅 Sun 关于安全 RPC 的文档。
kerberos
要求来自此计算机的访问进行 Kerberos 认证。此功能尚未实现。请参阅 MIT 关于 Kerberos 认证系统的文档。
root squash
这是一项安全功能,它拒绝指定主机上的超级用户任何特殊访问权限,方法是将来自客户端上 uid 0 的请求映射到服务器上 uid 65534 (-2)。此 uid 应与用户 nobody 关联。
no root squash
不映射来自 uid 0 的请求。此选项默认开启。
ro
以只读方式挂载文件层次结构。此选项默认开启。
rw
以读写方式挂载文件层次结构。
link relative
通过在链接内容前添加必要数量的 ../ 来将绝对符号链接(链接内容以斜杠开头)转换为相对链接,以从包含链接的目录到达服务器上的根目录。此选项仅在挂载主机的整个文件系统时才有意义,否则某些链接可能指向空位置,甚至更糟,指向它们原本不应指向的文件。

此选项默认开启。

link absolute
保持所有符号链接不变(Sun 提供的 NFS 服务器的正常行为)。
map daemon
此选项告诉 NFS 服务器假定客户端和服务器不共享相同的 uid/gid 空间。然后 nfsd 将通过查询客户端的 ugidd 守护进程来构建客户端和服务器之间 id 映射的列表。
每当 nfsd 或 mountd 启动时,解析 exports 文件时发生的错误都会报告给 syslogd 的 daemon 设备,级别为 notice。

请注意,主机名是通过反向映射从客户端的 IP 地址获得的,因此您必须正确配置解析器。如果您使用 BIND 并且非常有安全意识,则应在您的 host.conf 文件中启用欺骗检查。


next contents
下一篇: 自动挂载器 上一级: 网络文件系统 上一篇: NFS 守护进程

Andrew Anderson
Thu Mar 7 23:22:06 EST 1996