スポンサーリンク

EXPORTS(5) FreeBSD ファイルフォーマットマニュアル EXPORTS(5)

名称

exports − NFS マウント要求に対するリモートマウントポイントを定義する

書式

exports

解説

exports ファイルは NFS サーバの指定 1 つについて NFS マウントプロトコルに 対するリモートマウントポイントを指定します。 Network File System Protocol Specification, RFC1094, Appendix A および NFS: Network File System Version 3 Specification, Appendix I を参照してください。

exports ファイルの各行 (# で始まる注釈行以外) は、1 つ以上のホスト向け に、 1 つのローカルサーバファイルシステム内のマウントポイント (複数) とエ クスポートフラグを指定します。長い行は一番最後の行以外の行をバックスラッ シュ (‘\’) で終らせると複数の行に分割することができます。あるホストは、 サーバの各ローカルファイルシステムに関して唯 1 度だけ指定可能です。また他 の全てのホストに適用されるデフォルトエントリは、各サーバファイルシステム に関して唯 1 つだけ指定できます。後者は ‘‘世界’’ に対しそのファイルシステ ムを公開することになるので、そのファイルシステムが公の情報を含むときにの み用いるべきです。

マウントエントリ内の最初の欄 (複数) には、対応するクライアント (複数) が マウント可能であるサーバファイルシステム内ディレクトリパス (複数) を指定 します。この指定には 2 つの形式があります。最初の指定形式は、全マウントポ イントのリストであり、絶対ディレクトリパスを空白で区切ったものです。次の 指定形式は、そのファイルシステムのルートパス名に続いて −alldirs フラグを 指定するものです。この形式は、そのファイルシステム内の任意の点をホスト ( 複数) がマウントすることを可能にします。 mountd(8)−r オプションを用い れば、任意の点には通常ファイルを含むことができます。パス名中には、シンボ リックリンクを含んではなりませんし、また "." または ".." を含んではなり ません。 1 つのファイルシステムに対するマウントポイントを複数指定すること が可能であり、それぞれ異ったホストとエクスポートオプションの組を指定する ことができます。

行の 2 番目の部分には、そのファイルシステムがホストの組にどのようにエクス ポートされているかを指定します。オプションフラグは、そのファイルシステム を読み取り専用でエクスポートしているのかそれとも読み書き可でエクスポート しているのかを指定したり、クライアントの UID がサーバ上のユーザ資格にどの ようにマップされているのかを指定します。

エクスポートオプションは以下のとおりです。

−maproot=user 指定されたユーザの資格を、root によるリモートアクセスに対し て使用します。その資格には、ローカルマシン上でユーザが属する全てのグルー プを含みます ( id(1) 参照)。ユーザは名前または数字です。

−maproot=user:group1:group2:... コロンによって区切られたリストは、 root によるリモートアクセスに対して使用する正確な資格を指定するために使用しま す。リストの要素は名前または数字です。グループを含まない資格をユーザに関 する完全な資格と区別するためには、 user: を使用すべきであることに注意して ください。

−mapall=user または −mapall=user:group1:group2:... −maproot と同じ指定方 法で、 (root を含む) 全てのクライアントの UID に対するマッピングを指定し ます。

−r オプションは −maproot と同じ意味です。これは古い export ファイル形式と 互換性を保つために用意されました。

−maproot および −mapall オプションのない場合には、 root によるリモートア クセスは -2:-2 という資格を用いることになります。その他の全てのユーザはそ れぞれのリモート資格にマップされます。 −maproot オプションを指定する と、root によるリモートアクセスは -2:-2 の代りに指定した資格にマップされ ます。 −mapall オプションを指定すると、root を含む全てのユーザはそれら自 身の資格の代りに指定した資格にマップされます。

−ro オプションは、ファイルシステムが読み取り専用としてエクスポートされる ことを指定します (デフォルトは読み書き可)。 −o オプションは −ro と同じ意 味です。これは古い export ファイル形式と互換性を保つために用意されまし た。

仕様 (RFC 2054 と RFC 2055) に厳密に従う WebNFS エクスポートは −public フ ラグにて実現されます。しかしながら、このフラグ自身は、ファイルシステム中 の全ファイルに対して読み書きアクセスを与えますが、予約ポートを必要としま せんし、 uid のマッピングも行いません。これは仕様を満すためだけに提供され ており、通常は使用すべきではありません。 WebNFS エクスポートのためには、 −webnfs フラグを使用します。これは −public, −mapall=nobody, −ro を意味し ます。サーバ上では 1 つのファイルシステムしか WebNFS エクスポートできない ことに注意してください。

−index=file オプションを使用して、パブリックファイルハンドル (WebNFS) を 使用してディレクトリが検索された時にハンドルが返されるファイルを指定でき ます。これは URL の動作のまねをします。 −index オプションが指定されない と、通常通りディレクトリファイルハンドルが返されます。 −index オプション は −public または −webnfs フラグと組み合わせたときのみ意味があります。

−quiet オプションを指定すると、 /etc/exports 中の変な行に関する syslog へ の診断出力の一部を抑制します。既知のあり得る問題による五月蝿いエラーメッ セージを避けるのに有用です (後述の 使用例参照)。

行の 3 番目の部分には、その行が適用されるホストの組を指定します。この組は 3 つの方法で指定できます。最初の方法はホスト名 (複数) を空白で区切って並 べる方法です。 (名前の代りに、標準的なインターネット ‘‘ドット’’ アドレス を用いることもできます)。2 番目の方法はネットグループファイル ( netgroup(5) 参照) の中で定義した ‘‘netgroup’’ を指定する方法です。 3 番目 の方法は、 1 つのネットワークとネットワークマスクを用いることにより、 1 つのインターネットサブネットワークを指定する方法です。これは、そのサブ ネットワーク内のアドレスを持つ全てのホストの組として定義されます。この最 後の方法はカーネルのオーバヘッドを低く押えられるため、 1 つの管理サブネッ ト内の多くのクライアントをエクスポートの行が参照する場合に推奨されます。

最初の 2 つの指定方法では、単に空白で区切られた名前 (複数) を並べて指定し ます。全ての名前は、まずそれらが ‘‘netgroup’’ 名であるかチェックされ、そ うでなければホスト名であると仮定されます。ホスト名に完全ドメイン指定をす れば、ネットグループと同じ名前を持つホストの問題を通常避けることができま す。 3 番目の指定方法は、 −network=netname フラグとオプションの −mask=netmask フラグによって指定します。マスクが指定されないと、そのネッ トワーククラス (A, B, C のどれかです。 inet(4) を参照してください) に対す るマスクとなります。後述の 使用例参照。

mountd(8) ユーティリティに exports ファイルを再度読み取らせるためには、ハ ングアップシグナルを次のように送ります:

      kill -s HUP ‘cat /var/run/mountd.pid‘

SIGHUP の送信後に syslogd(8) 出力を確認して、 exports ファイル中の解析エ ラーを mountd(8) が記録したかどうか見てください。

関連ファイル

       /etc/exports

デフォルトのリモートマウントポイントファイル

使用例

      /usr /usr/local -maproot=0:10 friends
      /usr -maproot=daemon grumpy.cis.uoguelph.ca 131.104.48.16
      /usr -ro -mapall=nobody
      /u -maproot=bin: -network 131.104.48 -mask 255.255.255.0
      /u2 -maproot=root friends
      /u2 -alldirs -network cis-net -mask cis-mask
      /cdrom -alldirs,quiet,ro -network 192.168.33.0 -mask 255.255.255.0

/usr, /u, /u2 がローカルファイルシステムマウントポイントとすると、上の例 は以下を指定します:

/usr はネットグループファイルで指定されるホスト群 friends にエクスポート され、この際ユーザはそれぞれのリモート資格にマップされ、 root は UID 0 お よびグループ 10 にマップされます。このファイルシステムは読み書き可でエク スポートされ、 ‘‘friends’’ 内のホストは /usr と /usr/local のどちらもマウ ントできます。このファイルシステムは 131.104.48.16 および grumpy.cis.uoguelph.ca にエクスポートされ、この際ユーザはそれぞれのリモー ト資格にマップされ、 root は ‘‘daemon’’ に結び付けられたユーザおよびグ ループにマップされます。このファイルシステムは残りの世界へ読み出しのみで エクスポートされ、この際全てのユーザは ‘‘nobody’’ に結び付けられたユーザ およびグループにマップされます。

/u はサブネットワーク 131.104.48 上の全てのホストにエクスポートされ、この 際 root は ‘‘bin’’ の UID にマップされてグループアクセスを持ちません。

/u2 は ‘‘friends’’ 中のホストにエクスポートされ、その際 root は ‘‘root’’ に結び付けられた UID とグループにマップされます。このファイルシステムは ‘‘cis-net’’ ネットワーク上の全てのホストへエクスポートされ、この際 /u2 内 のどんなディレクトリへもマウントを許します。

サブディレクトリを含む /cdrom を根とするファイルシステムが、ネットワーク 192.168.33.0/24 へ読み取り専用でエクスポートされます。 /cdrom は CD-ROM デバイスの慣習的なマウントポイントですので、現在 CD-ROM メディアがマウン トされていないとこのエクスポートは失敗します。何故なら、この行には −alldirs があるため、ルートファイルシステムのサブディレクトリがエクスポー トされようとするのですが、これは許可されていないからです。 −quiet オプ ションは、通常は syslog に記録されてしまうこの条件のエラーメッセージを抑 制します。 CD-ROM がマウントされると、 mount(8)mountd(8) にこの状況を 通知し、 /cdrom ファイルシステムが意図通りにエクスポートされます。 −alldirs オプションを使用しないと、エクスポートは常に成功することに注意し てください。この場合、 /cdrom 下に CD-ROM メディアがマウントされていなく ても、ルートファイルシステム中の (通常は空の) ディレクトリ /cdrom をエク スポートします。

関連項目

netgroup(5), mountd(8), nfsd(8), showmount(8)

バグ

エクスポートオプションは、カーネル内ではローカルマウントポイントに結び付 けられます。ローカルサーバマウントポイントのサブディレクトリでエクスポー トされたものに、エクスポートオプションの矛盾があってはいけません。同じ ファイルシステム内の全てのエクスポートされたディレクトリは、木を下る順に 隣り合った行で指定されることが推奨されます。ネットグループ名と同じ名前の ホスト名は指定できません。完全ドメイン指定でホスト名を指定すれば通常は問 題ありません。

FreeBSD 10.0 March 29, 1995 FreeBSD 10.0

スポンサーリンク