下面介绍挂载 NFS 文件系统时可跟在 -o 标志后面的某些选项。有关完整的选项列表,请参阅 mount_nfs(1M) 手册页。
可以使用这些选项来选择挂载失败时的重试行为。bg 选项将导致挂载试图在后台运行。fg 选项将导致挂载试图在前台运行。缺省值为 fg,对于必须可用的文件系统而言,这是最佳选择。此选项可防止在挂载完成之前进一步进行处理。bg 是适用于非关键文件系统的适当选择,因为客户机在等待挂载请求完成的同时可以执行其他处理。
此选项可提高大型连续数据传输的性能。数据将直接复制到用户缓冲区。不会在客户机的内核中执行任何缓存操作。缺省情况下,此选项处于关闭状态。
以前,所有写请求都被 NFS 客户机和 NFS 服务器串行化。NFS 客户机已被修改,允许应用程序向单个文件发出并发写入以及并发读取和写入。您可以使用 forcedirectio 挂载选项在客户机上启用此功能。使用此选项时,将为已挂载文件系统中的所有文件启用此功能。还可以通过使用 directio() 接口对客户机的单个文件启用此功能。除非启用了此功能,否则对文件的写入一定是串行化的。而且,如果正在进行并发写入或并发读取和写入,该文件将不再支持 POSIX 语义。
有关如何使用此选项的示例,请参阅使用 mount 命令。
使用此选项,可以在运行 Solaris 2.6 发行版的服务器上访问大于 2 GB 的文件。由于只能在服务器上控制某个大文件是否可以访问,因此在 NFS 版本 3 挂载中将默认忽略此选项。从 2.6 发行版开始,缺省情况下,所有的 UFS 文件系统都使用 largefiles 进行挂载。对于使用 NFS 版本 2 协议的挂载,largefiles 选项将导致挂载失败,且会出现错误。
用于 UFS 挂载的此选项可以保证文件系统中不会存在大文件。请参见 mount_ufs(1M) 手册页。由于只能在 NFS 服务器上控制大文件的存在,因此使用 NFS 挂载时不存在用于 nolargefiles 的选项。系统将拒绝尝试使用此选项挂载 NFS 文件系统,且会出现错误。
从 Solaris 10 发行版开始,nosuid 选项与指定 nosetuid 选项和 nodevices 选项等效。指定 nodevices 选项时,禁止在已挂载的文件系统上打开特定于设备的文件。指定 nosetuid 选项时,系统将忽略位于文件系统中的二进制文件的 setuid 位和 setgid 位。进程将使用执行该二进制文件的用户的权限运行。
suid 选项与指定 setuid 选项和 devices 选项等效。指定 devices 选项时,允许在已挂载的文件系统上打开特定于设备的文件。指定 setuid 选项时,内核将接受位于文件系统中的二进制文件的 setuid 位和 setgid 位。
如果这两个选项都没有指定,则缺省选项为 suid,这将提供指定 setuid 选项和 devices 选项的缺省行为。
下表介绍了将 nosuid 或 suid 与 devices 或 nodevices,以及 setuid 或 nosetuid 组合的效果。请注意,在选项的每个组合中,行为由限制性最强的选项确定。
组合选项的行为 |
选项 |
选项 |
选项 |
---|---|---|---|
与使用 nodevices 和 nosetuid 等效 |
nosuid |
nosetuid |
nodevices |
与使用 nodevices 和 nosetuid 等效 |
nosuid |
nosetuid |
devices |
与使用 nodevices 和 nosetuid 等效 |
nosuid |
setuid |
nodevices |
与使用 nodevices 和 nosetuid 等效 |
nosuid |
setuid |
devices |
与使用 nodevices 和 nosetuid 等效 |
suid |
nosetuid |
nodevices |
与使用 devices 和 nosetuid 等效 |
suid |
nosetuid |
devices |
与使用 nodevices 和 setuid 等效 |
suid |
setuid |
nodevices |
与使用 devices 和 setuid 等效 |
suid |
setuid |
devices |
nosuid 选项为访问可能不可信的服务器的 NFS 客户机提供了附加安全性。使用此选项挂载远程文件系统会减少通过导入不可信设备或导入不可信 setuid 二进制文件来升级权限的机会。所有这些选项在所有的 Solaris 文件系统中都是可用的。
此选项强制在与 NFS 服务器联系时使用公共文件句柄。如果服务器支持公共文件句柄,则由于不使用 MOUNT 协议,因此挂载操作会比较快。此外,由于不使用 MOUNT 协议,公共选项允许通过防火墙进行挂载。
-rw 和 -ro 选项指示文件系统以读写方式挂载还是以只读方式挂载。缺省值为读写,该选项适用于远程起始目录、邮件假脱机目录或需要由用户更改的其他文件系统。只读选项适用于不应该由用户更改的目录。例如,用户不应写入手册页的共享副本。
可以使用此选项指定在挂载事务期间使用的验证机制。mode 的值可以是以下某个值之一。
对 Kerberos 版本 5 验证服务使用 krb5。
对具备完整性的 Kerberos 版本 5 使用 krb5i。
对具备保密性的 Kerberos 版本 5 使用 krb5p。
对于不验证的情况,使用 none。
对于 Diffie-Hellman (DH) 验证,使用 dh。
对于标准的 UNIX 验证,使用 sys。
上述模式还在 /etc/nfssec.conf 中进行了定义。
如果服务器没有做出响应,则使用 soft 选项挂载的 NFS 文件系统将返回错误。hard 选项将导致挂载继续重试,直到服务器做出响应为止。缺省值为 hard,大多数文件系统都应该使用此选项。应用程序不会经常检查从使用 soft 选项挂载的文件系统返回的值,这可能会使应用程序出现故障或可能导致文件损坏。如果应用程序检查返回值,则路由问题和其他情况可能仍然会干扰应用程序或导致文件损坏(如果选择 soft 选项)。在大多数情况下,不应该使用 soft 选项。如果文件系统是使用 hard 选项挂载的且不可用,则使用该文件系统的应用程序将挂起,直到该文件系统可用为止。