NFS(Network File System)是一种分布式文件系统协议,允许网络中的计算机之间共享文件和目录。在配置NFS时,/etc/exports
文件中的每一行代表一个共享规则,这些规则由一系列参数组成,用于控制如何共享特定的目录。下面是几个常见NFS参数的解读:
- 共享路径和主机范围:
-
/path/to/share
:指定要共享的目录路径。 -
*(或者特定IP/子网)
:定义哪些客户端可以访问此共享。星号*
表示允许所有主机访问,也可以指定具体的IP地址或子网范围,如192.168.1.0/24
。
- 常用访问控制参数:
-
rw
:允许客户端对该共享进行读写操作。 -
ro
:客户端只能进行只读访问。
- 同步与异步模式:
-
sync
:要求数据在被确认写入服务器的硬盘后,才能返回写成功的信息给客户端,保证数据的一致性,但可能会稍微影响性能。 -
async
:数据可以先被确认写入,服务器不必等待数据实际写入硬盘就返回成功信息,提高了响应速度,但在系统崩溃时可能丢失数据。
- 权限与用户映射:
-
no_root_squash
:访问共享的远程root用户保留其root权限,而不是像默认那样被映射为匿名用户(通常是nfsnobody)。 -
root_squash
:默认设置,将远程root用户的请求映射为匿名用户,限制其权限。 -
all_squash
:不管远程访问用户是谁,都将其映射为匿名用户。
- 其他高级选项:
-
no_subtree_check
:禁用子目录检查,可以提高性能,但有可能在某些情况下导致错误的权限处理。 -
secure
:限制客户端只能通过端口1024以下发起连接(较旧且较少使用)。 -
insecure
:允许从任何端口发起连接。 -
fsid=<number>
:为共享分配一个文件系统ID,当服务器导出多个共享时用于区分。