exportfs 命令
用途
导出和不导出目录到 NFS 客户机。
语法
/usr/sbin/exportfs [ -a ] [ -v ] [ -u ] [ -i ] [ -f文件 ] [ -F ] [ -o选项 [ ,选项 ... ] ] [ -V 导出版本] [ 目录 ]
描述
exportfs 命令使得本地目录可以为网络文件系统 (NFS) 客户机安装。 此命令通常由 /etc/rc.nfs文件在系统启动期间调用,并使用 /etc/exports 文件中的信息来导出一个或多个目录,必须使用完整路径名指定这些目录。
/etc/xtab 文件列示了当前导出的目录。 要想显示此文件,请输入不带标志和参数的 exportfs 命令。 要想更改文件或者更改它的一个目录中的特征的话,root 用户可以编辑 /etc/exports 文件并运行 exportfs 命令。 这种更改可以在任何时间完成。 永远都不要直接去编辑 /etc/xtab 文件。
- 您不能导出位于同一文件系统内的当前导出目录的父目录或子目录。
- NFS V2 和 V3 允许既导出目录又导出文件。 NFS V4 访问只能导出目录。
- 如果带有不同版本 2(或 3)和 4 的同一目录下的两个条目存在于 /etc/exports 文件中,那么 exportfs 命令将同时导出两个条目。
- 如果 NFS 版本 2 (或 3) 和 4 的选项对于目录相同,那么在 /etc/exports 文件中可以有一个条目指定-vers=3:4.
标志
| 项 | 描述 |
|---|---|
| 一 | 导出所有的列在导出文件中的目录。 |
| -v | 按照是导出还是不导出,打印每个目录的名称。 |
| -U | 不导出您指定的目录。 当结合 -a 标志使用时,取消导出所有导出的目录。 当同时结合 -a 和 -f 标志使用时,撤销导出指定导出文件中的所有目录。 |
| -一 | 允许没有在导出文件中指定的目录的导出,或者忽略在导出文件中的选项。 除非用到 -f 标志来指定一个可更替的文件,exportfs 命令通常将向 /etc/exports 文件查询来获得与要导出的目录的相关选项。 |
| -f 文件 | 指定一个导出文件,而不是 /etc/exports 文件,该文件包含了一个您可以导出的目录的列表。 此文件应该遵守 /etc/exports 文件相同的格式。 注:此可更替的文件将不会在系统和 NFS 启动的时候用来自动导出目录。 /etc/exports 文件是支持在系统启动时指定导出目录的唯一的文件。 |
| -F | 指定应该执行强制的取消导出。 仅将此标志与 -u 标志一起使用。 在取消导出 V2/V3 导出时,该标志不起作用。 V4 取消导出可能由于关联的状态而失败。 该标志强制释放与 V4 导出相关联的任何状态。 |
| -o选项 | 为要导出的目录指定可选的特征。 您可以输入多个变量,中间用逗号隔开。 对于采用了 Client 参数的选项,
Client 可以指定主机名、点分式 IP 地址、网络名或子网标识。 子网标识具有 "@
host/mask" 格式,其中 host 是
主机名或点分式 IP 地址,mask 指定了
当检查访问时使用的位数。 如果不指定 mask
,那么使用完整的掩码。 例如,标志符 @client.group.company.com/16 将与 company.com 子网上的所有客户机匹配。 @client.group.company.com/24 的标识将
仅匹配 group.company.com 子网上的客户机。 从下面选项中选择:
|
| -o Options (continued) |
|
| -o Options (continued) |
|
| -o Options (continued) |
|
| -o Options (continued) |
无论何时客户机属性发生更改,所有包含该客户机作为参数的导出条目应该再次导出。 可以更改客户机属性的事件包括修改网组或更改客户机的 IP 地址。 更改失败会导致服务器使用原有的客户机信息。 |
| -V Exported Version | 指定版本号。 有效版本号为 2、3 和 4。 |
Solaris 兼容性
exportfs 命令可能被调用为 share、shareall、unshare 或 unshareall。 当 exportfs 命令作为 share 或 shareall 调用时,功能分别等同于 exportfs 和 exportfs -a,除非必须使用 sec 选项指定安全方法。 当 exportfs 命令作为 unshare 或 unshareall 调用时,功能分别等同于 exportfs -u 和 exportfs -u -a。
安全性
示例
- 要导出 /etc/exports 文件中的全部目录,请输入:
exportfs -a - 要从 /etc/exports 文件导出一个目录,请输入:
exportfs /home/notes在此示例中,/home/notes目录已导出。注: 要使此命令起作用,必须在 /etc/exports 文件中指定 /home/notes 目录。 - 要取消导出目录,请输入:
exportfs -u /home/notes在此示例中,/home/notes目录已取消导出。
- 要显示当前正在导出的目录,请输入:
exportfs -v - 要导出不是在 /etc/exports 文件中指定的目录,请输入:
exportfs -i /home/zeus在此示例中,/home/zeus没有限制地导出目录。
- 要导出一个目录并为网组成员提供访问该目录的许可权,请输入:
exportfs access=cowboys:oilers /home/notes -o在此示例中,/home/notes目录已导出,并允许用户cowboys和oilers要具有访问权的主机。
- 要从 /etc/exports 文件导出带不同选项的目录,请输入:
exportfs -i -o root=zorro:silver /directory在此示例中,/directory目录已导出,并允许 root 用户访问zorro和silver主机,而不考虑 /etc/exports 文件中指定的访问许可权。
- 要使用 Kerberos 认证将具有写许可权的 /common/docs 目录导出到客户机,但使用 UNIX 认证将只读许可权导出到客户机,请将以下文本添加到 /etc/exports 文件:
/common/docs -sec=krb5,rw,sec=sys,ro然后输入
exportfs /common/docs执行导出。 - 要在 /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> - 要使用版本 3 和版本 4 导出 /common/docs
目录,请输入以下命令:
exportfs -V 3:4 /common/docs - 要导出 /etc/exports 文件中的所有版本 4 的条目,请输入以下命令:
exportfs -a -V 4 - 要仅取消导出版本 3 的 /common/docs
目录,请输入以下命令:
exportfs -u -V 3 /common/docs - 要取取消导出 /etc/xtab 文件中的所有版本 3 的条目,请输入以下命令:
exportfs -ua -V 3 - 要在名为 /common/docs 的主机上指定目录的引荐,请执行以下操作:s1,s2和s3并将它们完全分散,将以下行添加到 /etc/exports 文件,然后导出 /common/docs 目录:
/common/docs -vers=4,refer=/common/docs@s1:/common/docs@s2:/common/docs@s3,scatter=full - 要在指定的主机上为 /common/docs 目录指定副本,请执行以下操作:s1,s2,s3和s4并将其部分分散 (第一个故障转移服务器是s1对于所有组合) ,将以下行添加到 /etc/exports 文件,然后导出 /common/docs 目录:
/common/docs -vers=4,noauto,replicas=/common/docs@s1:/common/docs@s2:/common/docs@s3:/common/docs@s4,scatter=partial
文件
| 项 | 描述 |
|---|---|
| /etc/exports | 列出服务器可以导出的目录。 |
| /etc/xtab | 列出当前导出目录。 |
| /etc/hosts | 包含在网络上的每个主机的一个条目。 |
| /etc/netgroup | 包含网络上每个用户组的信息。 |
| /etc/rc.nfs | 包含 NFS 和 NIS 守护程序的启动脚本。 |