下一篇: 自动挂载器 上一级: 网络文件系统 上一篇: NFS 守护进程
虽然以上选项应用于客户端的 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 文件中启用欺骗检查。
下一篇: 自动挂载器 上一级: 网络文件系统 上一篇: NFS 守护进程
Andrew Anderson
Thu Mar 7 23:22:06 EST 1996