用途
包含可导出到网络文件系统 (NFS) 客户机的目录列表。
描述
/etc/exports 文件包含可导出到 NFS 客户机的每个目录的条目。 此文件将由 出口 命令自动读取。 如果更改此文件,那么必须先运行 出口 命令,然后更改才能影响守护程序的操作方式。
仅当此文件在系统启动期间存在时,
rc.nfs 脚本才会执行
exportfs 命令并启动
nfsd 和
mountd 守护程序。
限制: 您无法在同一文件系统中导出已导出目录的父目录或子目录。
如果在 /etc/exports 文件中有两个具有不同 NFS 版本 2 (或 3) 和 NFS 版本 4 的同一目录的条目,那么 exportfs 命令会导出这两个条目。
如果某个目录的 NFS 版本 2(或 3)和 4 的选项相同,那么
/etc/exports 文件中可能有一个条目指定了 -vers=3:4。
文件中的条目按如下所示进行格式化:
目录-选项 [ , 选项 ] ...
这些条目定义如下所示:
| 条目 |
定义 |
| 目录 |
指定目录名称。 |
| option |
为要导出的目录指定可选的特征。 您可以输入多个变量,中间用逗号隔开。 对于采用 "客户" 参数的选项,客户可以指定主机名,点分 IP 地址,网络名称或子网指示符。 子网指示符的格式为 @主机/掩码,其中主机是主机名或点分 IP 地址,并且掩码指定检查访问权时要使用的位数。 如果不指定 mask
,那么使用完整的掩码。 例如,标志符 @client.group.company.com/16 将与 company.com 子网上的所有客户机匹配。 @client.group.company.com/24 的指示符将仅与 group.company.com 子网上的客户机匹配。 从下面选项中选择:
- ro
- 用只读许可方式导出目录。 如果不指定,那么目录以读写许可权导出。
- 罗=客户[:客户]
- 将目录以只读许可权导出至指定的客户机。 将目录以只读许可权导出至未在列表中指定的客户机。 如果已经指定了一个读写列表的话,那么无法指定一个只读列表。
- rw
- 将目录以读写许可权导出至所有客户机。
- 罗 = 客户 [:客户]
- 将目录以读写许可权导出至指定的客户机。 将目录以只读方式导出至不在列表中的客户机。 如果已经指定了一个只读列表,那么无法指定一个读写列表。
- 访问 = 客户机 [:客户,...]
- 给每个列示的客户机提供安装访问。 如果未指定,那么允许任何客户机安装指定的目录。 可以将 罗 选项和 罗 选项组合在单个导出条目上。 请参阅以下示例:
access=x, ro=y
indicates that x has the rw option and y has the ro option
access=x, rw=y
indicates that x has the ro option and y has the rw option
- 阿农= UID
- 如果请求来自 root 用户,请使用用户标识 (UID) 值作为有效的用户标识。
该选项的缺省值为 -2。 将 anon 选项的值设置为 -1 可禁用匿名访问。 请注意,默认情况下,安全 NFS 模式会将非安全请求视为匿名请求。需要更高安全性的用户可通过将 anon 设置为 0 来禁用 -1 此功能。
|
| |
- 根=客户[:客户]
- 允许从列表中的指定客户机进行根访问。 将主机放到根列表中不会覆盖其他选项的语义。 例如,该选项拒绝来自根列表中主机的安装访问,而不是拒绝访问列表中主机的访问。
- secure
- 当访问目录的时候,需要客户机使用更安全的协议。
# (井号) 在文件中的任何位置指示延伸到行尾的注释。
- deleg = {yes|no}
- 对指定的导出启用或禁用文件授权。 该选项覆盖系统范围的、对该导出的授权支持。 系统范围的启用是通过 nfso 命令完成的。
- vers=版本[:version]
- 使用指定的 nfs 协议版本导出客户机的目录。 允许的值 3 2 , 3 和 4。 无法单独强制 3 2 和 V3。 指定版本 2 或 3 允许客户机使用 nfs 协议版本 2 或 3 进行访问。 可以单独指定 4 ,并且必须指定该版本以 4 客户机使用 V4 协议进行访问。 缺省值为 2 和 3。
- 名称 =外部名
- 用指定外部名导出目录。 外部名称必须以 nfsroot 名称开头。 请参阅以下内容以获取 nfsroot 和 nfspublic 路径的描述。 这仅适用于导出以通过 4 协议进行访问的目录。
|
| 选项 (续) |
- sec=味道[:flavor ...]
- 该选项用于指定一系列可能用于访问导出目录下的文件的安全方法。 大多数 exportfs 选项可以使用 sec 选项进行集群。 假定 sec 选项后面的选项属于前面的 sec 选项。 可以指定任意数目的 sec 节,但每个安全方法只能指定一次。 在每个 sec 节中,可以指定 ro, rw, root和 access 选项一次。 只有公共选项, anon 和 vers 选项被视为导出的全局选项。 如果 sec 选项用于指定任何安全方法,那么必须使用该选项来指定所有安全方法。 如果没有任何 sec 选项,那么将采用 UNIX 认证。
允许的衍生系统值是:
- sys
- UNIX 认证。
- dh
- DES 认证。
- krb5
- Kerberos. 仅限于认证。
- krb5i
- Kerberos. 认证和集成。
- krb5p
- Kerberos. 认证、集成和隐私。
- 无
- 如果安装请求使用导出中未指定的认证风格,那么允许安装请求继续匿名凭证。 否则,将返回弱 auth 错误。 缺省情况下,允许所有类型模板。
可以指定 secure 选项,但不能与 sec 选项结合使用。 不推荐使用 secure 选项,可能会将其消除。 请改为使用 sec=dh 。
- referr=根路径@主机 [+主机] [:根路径@主机 [+主机]]
- 将在指定路径中创建名称空间引用。 此引荐将客户机定向到指定的备用位置,客户机可以在这些位置继续操作。 引用是一种特殊的对象。 如果在指定的路径中存在非引用对象,那么不允许导出,并且会显示错误消息。 如果指定路径中不存在任何内容,那么将在该路径中创建引用对象; 此引用对象包含指向该对象的路径名目录。 可以在文件系统中创建多个参照。 不能为 nfsroot指定引荐。 无法使用名称 本地主机 作为主机名。
不导出参照对象会影响从参照对象除去参照位置信息。 取消导出引荐对象不会除去引荐对象本身。 如果需要,可以使用 rm 除去该对象。 管理员必须确保在参照服务器上提供相应的数据。
此选项仅在 AIX® V 5.3.0.30 或更高版本上可用,并且仅允许用于 V 4 导出。 如果导出规范允许 V2 或 V3 访问,那么会显示错误消息并禁止导出。 注: 仅当在服务器上启用了复制时,才能进行引荐导出。 使用 chnfs
-R on 来启用复制。
|
| 选项 (续) |
- replicas=根路径@主机 [+主机] [:根路径@主机 [+主机]]
- 副本位置信息已与导出路径关联。 如果当前服务器变为不可用,NFS V4 客户机可以使用副本信息将操作重定向至指定的另一个位置。 您应该确保在副本服务器上提供相应的数据。 因为副本信息适用于整个文件系统,所以指定的路径必须是文件系统的根。 如果该路径不是文件系统根目录,那么不允许导出,并且会显示错误消息。 无法使用名称 本地主机 作为主机名。
如果要导出的目录不在副本列表中,则会将条目 Export ed Directory@CurrentHost 添加为第一个副本位置。 只有在服务器上启用复制时才能进行副本导出。 在缺省情况下,复制未启用。 若在系统启动时执行副本导出,应通过 chnfs -R on 启用复制功能。 此外,还可以为 nfsroot指定副本位置。 必须使用 钦夫斯 命令来实现此目的。 在此情况下,命令为 chnfs -R 主机 [ + 主机 ]。 如果在列表中未指定当前主机,它将被作为第一个副本主机添加。 在此情况下,不需要或不允许使用 根路径 。 原因是仅将 nfsroot 复制到指定主机的 恩 fsroots 。 仅当没有活动的 NFS 版本 4 导出时,才能更改复制方式。 如果服务器的复制方式已更改,那么服务器将不会执行服务器在先前复制方式期间发出的任何 filehandles。 这可能会导致具有旧文件句柄的客户机上发生应用程序错误。 在更改服务器的复制方式时必须谨慎。 如果可能,在更改服务器的复制方式之前,应该先卸载所有到服务器的客户机安装。 可以通过修改副本列表并重新导出目录,更改与该目录关联的副本位置信息。 新的副本信息将替换旧的副本信息。
预期 NFS 客户机将在常规基础上刷新副本信息。 如果服务器更改了某个导出的副本信息,那么客户机可能需要一些时间来刷新其副本信息。 如果添加新的副本位置,这不是一个严重问题,因为具有旧副本信息的客户机仍将具有正确的副本信息 (尽管可能不完整)。 除去副本信息可能有问题,因为它可能导致客户机在一段时间内具有不正确的副本信息。 为了帮助客户机检测新信息, 出口 会尝试访问复制的目录。 这将更改目录上的时间戳记,这反过来会导致客户机重新访存目录的属性。 但是,如果复制的文件系统是只读的,那么可能无法执行此操作。 在更改目录的副本信息时,您应该知道从更改副本信息到客户机获取新的副本信息之间可能有一段时间。
此选项仅在 AIX V 5.3.0.30 或更高版本上可用,并且仅对 V 4 导出有意义。 如果在允许 V2 或 V3 的导出上使用该选项,该选项是允许的,但 V2 或 V3 服务器将忽略副本信息。
- noauto
- “按现状”接受副本规范。 如果尚未指定主要主机名,那么不要自动将其作为一个副本位置插入。
|
nfsroot 和 nfspublic
为了允许 NFS 服务器管理员对客户机隐藏本地文件系统的一些详细信息,已将
nfsroot 和
nfspublic 属性添加到 NFS V 4 实现中。 可以单独指定
nfsroot 和
nfspublic ,但
nfspublic 必须是
nfsroot的子目录。 设置
nfsroot 时,可以导出本地目录,以使其在客户机中显示为
nfsroot的子目录。 为了避免出现问题,必须对导出的目录设置限制:
- nfsroot 不得为 "/"。
- 所有 V4 4 都必须指定外部名称,或者没有任何导出必须指定外部名称。
- 外部名称必须以 nfsroot 名称开头。 例如,如果 nfsroot 已设置为 /export/server,那么可以将目录 /export/server/abc 用作外部名称,但不能将目录 /abc 用作外部名称。 在此示例中, /tmp 目录可能导出为 /export/server/tmp,但 /tmp 无法导出为 /xyz。
- 如果使用 -exname 选项,那么每个文件系统只能导出一个目录。
- 如果使用外部名称导出目录,那么同时导出的该目录的任何后代都必须在两个目录之间保持相同的路径。 例如,如果 /a 导出为 /export/dira,那么 /a/b/c/d 目录只能导出为 /export/dira/b/c/d,前提是 /a 和 /a/b/c/d 是不同的文件系统或不同文件系统的成员。
- 如果使用外部名称导出目录,那么同时导出的该目录的任何父目录都必须保持两个目录之间的同一路径。 例如,如果 /a/b 导出为 /export/a/b,那么 /a 目录只能导出为 /export/a,前提是 /a 和 /a/b 是不同的文件系统或不同文件系统的成员。 此外,如果 /a/b 导出为 /export/b,那么无法导出目录 /a ,因为它不存在于从根节点导出路径名 /b的路径中。
- 仅当 -vers=4 选项也存在时, exportfs 命令才允许 exname 选项。
nfsroot, 恩夫斯普利奇和复制的管理是使用 钦夫斯 命令执行的。
示例
- 要导出到 网络组 客户机,请输入:
- 要导出到世界,请输入:
- 要仅导出到这些系统,请输入:
/usr2 -access=hermes:zip:tutorial
- 要仅授予对这些系统的 root 用户访问权,请输入:
/usr/tps -root=hermes:zip
- 要将客户机 root 用户转换为访客 UID=100,请输入:
- 要将只读导出到每个人,请输入:
- 要在一行上允许多个选项,请输入:
/usr/stuff -access=zip,anon=-3,ro
- 要在 /usr/info 中创建对主机 infoserver上的 /usr/info 目录的引用,请将以下行添加到 /etc/exports ,然后导出 /usr/info:
/usr/info -vers=4,refer=/usr/info@infoserver
- 要在主机 backup1 和 backup2上指定目录 /common/info 的副本,请将以下行添加到 /etc/exports ,然后导出 /common/info:
/common/info -vers=4,replicas=/common/info@backup1:/common/info@backup2,<other options>