/etc/exports and /etc/exports.d/, lists the directories that are made available over the network (exported). For each NFS share, only the given list of machines is granted access. More fine-grained access control can be obtained with a few options. The syntax for this file is quite simple:
/directory/to/share machine1(option1,option2,...) machine2(...) ...
fsid=0 或 fsid=root 来识别。
*.falcot.com 这样的语法,或如 192.168.0.0/255.255.255.0 或 192.168.0.0/24 这样的 IP 地址来指定。
ro 选项)作为只读可用。 rw 选项允许读写访问。NFS 客户端典型地从限制为 root 的端口连接(换句话说,低于 1024);这个限制可以由 insecure 选项提升(secure 选项是隐性的,但如果需要清晰的话可以显性)。
sync 选项),服务器默认只回答 NFS 查询;这可以通过 async选项来禁止。异步写入提高了一点性能,但降低了可靠性,因为在通知写入与真实写到磁盘上之间在服务器崩溃的情况下,存在数据丢失的风险。由于最近更改的默认值(与 NFS 的历史值相比),推荐显性的设置。
nobody 用户。这个行为符合 root_squash 选项,并且默认启用。禁止这个行为的 no_root_squash 选项是有风险的,并且应该只在受控的环境下使用。如果所有用户应该被映射到 nobody 用户上,那么使用 all_squash。anonuid=uid 和 anongid=gid 选项允许指定另一个伪用户来使用,取代 UID/GID 65534 (这符合nobody 用户和 nogroup 组)。
sec 选项来指定想要的安全等级:sec=sys 是默认的,没有特定的安全特性,sec=krb5 只启用认证,sec=krb5i 添加了整体保护,而 sec=krb5p 是最完全的等级,包括隐私保护(带有数据加密)。为了让它工作,需要进行 Kerberos 设置(那个服务不包括在本书的范围内)。
mount command and the /etc/fstab file.
例 11.20. 在 /etc/fstab 文件中的 NFS 入口
arrakis.internal.falcot.com:/shared /srv/shared nfs4 rw,nosuid 0 0
/shared/ 从 arrakis 服务器挂载到本地 /srv/shared/ 目录中。这会需要读写访问(这样需要 rw 参数)。nosuid 选项是保护措施,从共享上存储的程序中擦除了任何 setuid 或 setgid 位。如果 NFS 共享只意味着存储文档,那么另一个推荐的选项是 noexec,它防止执行共享上存储的程序。注意,在服务器上 shared 目录在 NFSv4 root export 之下(例如 /export/shared),它不是顶层目录。