Solaris のシステム管理 (ネットワークサービス)

NFS コマンド

次のコマンドは、root として実行しないと、十分な効果が得られません。ただし、情報の要求は、すべてのユーザーが行うことができます。

automount コマンド

このコマンドは autofs マウントポイントをインストールし、オートマスターファイル内の情報を各マウントポイントに関連付けます。このコマンドの構文は次のとおりです。

automount [ -t duration ] [ -v ]

-t duration はファイルシステムがマウントされた状態でいる時間 (秒) を設定し、-v は冗長モードを選択します。冗長モードでこのコマンドを実行するとトラブルシューティングが容易になります。

継続時間の値は、特に設定しないと 5 分に設定されます。通常はこの値が適切です。しかし、自動マウントされたファイルシステムの多いシステムでは、この値を増やす必要がある場合もあります。特に、サーバーを多くのユーザーが使用中の場合は、自動マウントされたファイルシステムを 5 分ごとにチェックするのは能率的でない場合があります。autofs ファイルシステムは 1800 秒 (30 分) ごとにチェックする方が適しています。5 分おきにファイルシステムマウントを解除しないと、/etc/mnttab が大きくなることがあります。df/etc/mnttab にある各エントリをチェックしたときの出力を減らすには、-F オプション (df(1M) のマニュアルページを参照) または egrep を使用して、df の出力にフィルタをかけます。

この継続時間を調節すると、オートマウンタマップへの変更が反映される速さを変更できるということも考慮すべきです。変更はファイルシステムがアンマウントされるまでは見ることができません。オートマウンタマップの変更方法については、「マップの修正」を参照してください。

clear_locks コマンド

このコマンドを使用すると、ある NFS クライアントのファイル、レコード、または共有のロックをすべて削除できます。このコマンドを実行するには、スーパーユーザーでなければなりません。NFS サーバーから、特定のクライアントに対するロックを解除できます。また、NFS クライアントから、特定のサーバーにおけるそのクライアントに対するロックを解除できます。次の例では、現在のシステム上の tulip という NFS クライアントに対するロックが解除されます。


# clear_locks tulip

-s オプションを指定すると、どの NFS ホストからロックを解除するかを指定できます。このオプションは、ロックを作成した NFS クライアントで実行する必要があります。次の場合、クライアントによるロックが bee という名前の NFS サーバーから解除されます。


# clear_locks -s bee

注意 – 注意 –

このコマンドは、クライアントがクラッシュしてロックを解除できないとき以外には使用しないでください。データが破壊されるのを避けるため、使用中のクライアントに関するロックは解除しないでください。


fsstat コマンド

Solaris 10 11/06 以降のリリースでは、fsstat ユーティリティーを使用して、ファイルシステムの種類およびマウントポイントごとに、ファイルシステムオペレーションを監視できます。出力のカスタマイズを可能にするオプションが多数用意されています。次に例を示します。

次の例では、NFS version 3、version 4、およびルートマウントポイントに対する出力を表示しています。


% fsstat nfs3 nfs4 /
  new     name   name    attr    attr   lookup   rddir   read   read   write   write
 file    remov   chng     get     set      ops     ops    ops  bytes     ops   bytes
3.81K       90  3.65K   5.89M   11.9K    35.5M   26.6K   109K   118M   35.0K   8.16G  nfs3
  759      503    457   93.6K   1.44K     454K   8.82K  65.4K   827M     292    223K  nfs4
25.2K    18.1K  1.12K   54.7M    1017     259M   1.76M  22.4M  20.1G   1.43M   3.77G  /

次の例では、-i オプションを使って NFS version 3、version 4、およびルートマウントポイントの入出力操作に関する統計を提供しています。


% fsstat -i nfs3 nfs4 /
 read    read    write   write   rddir   rddir   rwlock   rwulock
  ops   bytes      ops   bytes     ops   bytes      ops       ops
 109K    118M    35.0K   8.16G   26.6K   4.45M     170K      170K  nfs3
65.4K    827M      292    223K   8.82K   2.62M    74.1K     74.1K  nfs4
22.4M   20.1G    1.43M   3.77G   1.76M   3.29G    25.5M     25.5M  /

次の例では、-n オプションを使って NFS version 3、version 4、およびルートマウントポイントの命名操作に関する統計を提供しています。


% fsstat -n nfs3 nfs4 /
lookup   creat   remov  link   renam  mkdir  rmdir   rddir  symlnk  rdlnk
 35.5M   3.79K      90     2   3.64K      5      0   26.6K      11   136K  nfs3
  454K     403     503     0     101      0      0   8.82K     356  1.20K  nfs4
  259M   25.2K   18.1K   114    1017     10      2   1.76M      12  8.23M  /

詳細は、fsstat(1M) のマニュアルページを参照してください。

mount コマンド

このコマンドを使用すると、指定したファイルシステムをローカルまたはリモートで、指定したマウントポイントにマウントできます。詳細は、mount(1M) のマニュアルページを参照してください。引数を指定しないで mount を使用すると、現在コンピュータにマウントされているファイルシステムのリストが表示されます。

Solaris の標準インストールには、さまざまな種類のファイルシステムが含まれています。ファイルシステムの種類ごとにマニュアルページがあり、その種類に対して mount を実行するときに使用可能なオプションのリストが示されています。NFS ファイルシステムについては、mount_nfs(1M) のマニュアルページを参照してください。UFS ファイルシステムについては、mount_ufs(1M) のマニュアルページを参照してください。

Solaris 7 で、server:/pathname という標準の構文の代わりに NFS URL を使用して NFS サーバー上のマウントするパス名を指定することが可能になりました。詳細は、「NFS URL を使用して NFS ファイルシステムをマウントする方法」を参照してください。


注意 – 注意 –

Solaris 2.6 以降の mount コマンドでは、無効なオプションがあっても警告されません。解釈できないオプションがあると無視されるだけです。予想外の結果が生じるのを避けるために、使用するオプションはすべて確認してください。


NFS ファイルシステム用の mount オプション

NFS ファイルシステムのマウント時に -o フラグのあとに指定できるオプションの一部を、次に示します。オプションの完全な一覧については、mount_nfs(1M) のマニュアルページを参照してください。

bg|fg

これらのオプションは、マウントが失敗したときの再試行の方法を選択するオプションです。bg オプションの場合はバックグラウンドで、fg オプションの場合はフォアグラウンドでマウントが試みられます。デフォルトは fg です。常に使用可能にしておく必要のあるファイルシステムに対しては fg が適しています。fg オプションを指定すると、マウントが完了するまで、次の処理は行われません。bg は、マウント要求が完了しなくてもクライアントはほかの処理を実行できるため、クリティカルでないファイルシステムの処理に適しています。

forcedirectio

このオプションは、大規模の連続したデータ転送のパフォーマンスを向上させます。データは直接ユーザーバッファーにコピーされます。クライアント上のカーネル内ではキャッシュへの書き込みは行われません。この機能はデフォルトではオフです。

これまで、書き込み要求はすべて、NFS クライアントと NFS サーバーの両方で直列化されていました。今回の NFS クライアントの変更により、単一ファイルに対する並行書き込み、並行読み取り/書き込みを、アプリケーションから実行できるようになりました。この機能をクライアント上で有効にするには、mount コマンドオプション forcedirectio を使用します。このオプションを使用した場合、マウントされたファイルシステム内のすべてのファイルに対して、この機能が有効になります。この機能をクライアントの単一のファイルに対してのみ有効にするには、directio() インタフェースを使用します。この機能を有効にしないかぎり、ファイルへの書き込みは直列化されます。また、並行書き込みや並行読み取り/書き込みが実行されると、そのファイルに関しては、POSIX のセマンティクスはサポートされなくなります。

このオプションの使用例については、mount コマンドの使用」を参照してください。

largefiles

このオプションを使用すると、Solaris 2.6 が稼働しているサーバー上に置かれた 2G バイトを超えるサイズのファイルにアクセスできるようになります。大規模ファイルにアクセスできるかどうかは、サーバーでしか制御できません。したがって、このオプションは NFS version 3 のマウントでは無視されます。デフォルトでは、Solaris 2.6 以降のリリースの UFS ファイルシステムはすべて largefiles オプション付きでマウントされます。NFS version 2 プロトコルを使用したマウントで largefiles オプションを指定すると、エラーが発生してマウントできません。

nolargefiles

この UFS マウント用のオプションを指定すると、ファイルシステム上に大規模ファイルが存在できないことが保証されます。mount_ufs(1M) のマニュアルページを参照してください。大規模ファイルの存在は NFS サーバー上でのみ制御できるため、NFS マウントを使用している場合は、nolargefiles オプションを指定できません。このオプションを指定してファイルシステムを NFS マウントしようとすると、エラーが発生して拒否されます。

nosuid|suid

Solaris 10 以降のリリースでは、nosuid オプションは、nodevices オプションを nosetuid オプションと同時に指定することと同等です。nodevices オプションが指定されている場合、マウントされたファイルシステム上のデバイス特殊ファイルを開くことができません。nosetuid オプションが指定されている場合、ファイルシステム上に置かれたバイナリファイルの setuid ビットと setgid ビットは無視されます。プロセスは、バイナリファイルを実行するユーザーの特権で実行します。

suid オプションは、devices オプションを setuid オプションと同時に指定することと同等です。devices オプションが指定されている場合、マウントされたファイルシステムのデバイス特殊ファイルを開くことができます。setuid オプションが指定されている場合、ファイルシステムに置かれたバイナリファイルの setuid ビットと setgid ビットは、カーネルが引き受けます。

いずれのオプションも指定されていない場合、デフォルトのオプションは suid になります。これにより、devices オプションを setuid オプションと同時に指定するデフォルトの動作になります。

次の表は、nosuid または suiddevices または nodevices、および setuid または nosetuid と組み合わせることによる結果を示しています。オプションの各組み合わせでは、もっとも制限の高いオプションが動作を決定します。

オプションの組み合わせによる動作 

オプション 

オプション 

オプション 

nosetuidnodevices の同時指定と同等

nosuid

nosetuid

nodevices

nosetuidnodevices の同時指定と同等

nosuid

nosetuid

devices

nosetuidnodevices の同時指定と同等

nosuid

setuid

nodevices

nosetuidnodevices の同時指定と同等

nosuid

setuid

devices

nosetuidnodevices の同時指定と同等

suid

nosetuid

nodevices

nosetuiddevices の同時指定と同等

suid

nosetuid

devices

setuidnodevices の同時指定と同等

suid

setuid

nodevices

setuiddevices の同時指定と同等

suid

setuid

devices

nosuid オプションを指定すると、信頼できないサーバーにアクセスする可能性のある NFS クライアントのセキュリティーを向上できます。このオプションを使用してリモートファイルシステムのマウントを行うと、信頼できないデバイスのインポートまたは信頼できない setuid バイナリファイルのインポートによって特権が拡大する可能性を減らすことができます。これらのオプションはすべて、Solaris ファイルシステム全体で使用可能です。

public

このオプションを指定すると、NFS サーバーにアクセスするときに必ず公開ファイルハンドルを使用するようになります。NFS サーバーが公開ファイルハンドルをサポートしていれば、MOUNT プロトコルが使用されないため、マウント操作は短時間で行われます。また、MOUNT プロトコルを使用しないため、ファイアウォールを越えたマウントが可能です。

rw|ro

-rw オプションと -ro オプションは、ファイルシステムが読み書き可能と読み取り専用のどちらでマウントされるかを示します。デフォルトは読み書き可能で、これはリモートホームディレクトリやメールスプールディレクトリなどの、ユーザーによる変更が必要なファイルシステムに適しています。読み取り専用オプションは、ユーザーが変更してはいけないディレクトリに適しています。具体的には、マニュアルページの共有コピーなどです。

sec=mode

このオプションは、マウント時に使用される認証メカニズムを指定します。mode の値は、次のいずれかです。

  • Kerberos version 5 認証サービス用の krb5 を使用する。

  • 整合性を指定する Kerberos version 5 用の krb5i を使用する。

  • 機密性を指定する Kerberos version 5 用の krb5p を使用する。

  • 認証なしの none を使用する。

  • Diffie-Hellman (DH) 認証用の dh を使用する。

  • UNIX 標準認証用の sys を使用する。

モードは、/etc/nfssec.conf ファイルにも定義されます。

soft|hard

soft オプションを指定してマウントされた NFS ファイルシステムは、サーバーが応答しなくなるとエラーを返します。hard オプションが指定されていると、サーバーが応答するまで続けて再試行が行われます。デフォルトは hard です。ほとんどのファイルシステムには hard を使用します。ソフトマウントされたファイルシステムからの値を検査しないアプリケーションが多いので、アプリケーションでエラーが発生してファイルが破壊される恐れがあるためです。アプリケーションが戻り値を確認する場合は、soft が使用されているとルーティングの問題などによってアプリケーションが正しく判断できず、ファイルが破壊されることがあります。原則として、soft は使用しないでください。hard オプションを指定した場合にファイルシステムが使用できなくなると、そのファイルシステムを使用するアプリケーションはファイルシステムが復旧するまでハングアップする可能性があります。

mount コマンドの使用

次の例を参照してください。

umount コマンド

このコマンドにより、現在マウントされているリモートファイルシステムが解除されます。umount コマンドは、テストのために -V オプションをサポートしています。また、-a オプションを使用することによって 1 度に複数のファイルシステムをアンマウントできます。-a オプションに mount-points を指定すると、そのファイルシステムがアンマウントされます。マウントポイントを指定しないと、/etc/mnttab のリストにあるファイルシステムのうち必須でないものすべてのアンマウントが試みられます。必須のファイルシステムとは、//usr/var/proc/dev/fd/tmp などです。 ファイルシステムがすでにマウントされていて、/etc/mnttab に項目が指定されている場合、ファイルシステムのタイプのフラグを指定する必要はありません。

-f オプションを指定すると、使用中のファイルシステムが強制的にアンマウントされます。このオプションを使用して、マウントできないファイルシステムのマウントを試みた最中にハングアップしたクライアントを復帰させることが可能です。


注意 – 注意 –

ファイルシステムを強制的にアンマウントすると、ファイルへの書き込み中だった場合には、データを損失することがあります。


次に例を示します。


例 6–1 ファイルシステムをアンマウントする

次の例は、/usr/man にマウントしたファイルシステムをアンマウントします。


# umount /usr/man


例 6–2 umount でオプションを使用する

次の例では、umount -a -V の実行結果が表示されます。


# umount -a -V
umount /home/kathys
umount /opt
umount /home
umount /net

このコマンドでは、ファイルシステムのアンマウント自体は実行されないことに注意してください。


mountall コマンド

このコマンドを使用すると、ファイルシステムテーブルに一覧表示されたすべてのファイルシステム、または特定グループのファイルシステムをマウントできます。このコマンドを実行すると、次の操作を実行することができます。

NFS ファイルシステムタイプと指定されているファイルシステムはすべてリモートファイルシステムなので、これらのオプションは余分な指定になることがあります。詳細は、mountall(1M) のマニュアルページを参照してください。

次の 2 つのユーザー入力例では、同じ結果が得られます。


# mountall -F nfs

# mountall -F nfs -r

umountall コマンド

このコマンドを使用すると、ファイルシステムのグループをアンマウントできます。-k オプションは、mount-point に関連付けられているプロセスを終了させるために fuser -k mount-point コマンドを実行します。-s オプションは、アンマウントを並行処理しないことを示します。-l は、ローカルファイルシステムだけを使用することを、-r はリモートファイルシステムだけを使用することを示します。-h host オプションは、指定されたホストのファイルシステムをすべてアンマウントすることを指定します。-h オプションは、-l または -r と同時に指定できません。

次の例では、リモートホストからマウントしたすべてのファイルシステムがアンマウントされます。


# umountall -r

次の例では、bee サーバーからマウントしたすべてのファイルシステムがアンマウントされます。


# umountall -h bee

share コマンド

このコマンドを使用すると、NFS サーバーのローカルファイルシステムをマウントできるようになります。また、システム上のファイルシステムのうち、現在共有しているもののリストを表示します。NFS サーバーが動作していないと、share コマンドは使用できません。NFS サーバーソフトウェアは、/etc/dfs/dfstab にエントリがある場合、起動の途中で自動的に起動されます。NFS サーバーソフトウェアが動作していない場合、このコマンドはエラーを報告しません。そのため、ソフトウェアが動作していることを確認する必要があります。

すべてのディレクトリツリーは共有できるオブジェクトです。ただし、各ファイルシステムの階層構造は、そのファイルシステムが位置するディスクスライスやパーティションで制限されます。たとえば、ルート (/) ファイルシステムを共有しても、/usr が同じディスクパーティションかスライスに存在しなければ、/usr を共有することはできません。通常、ルートはスライス 0 に、/usr はスライス 6 にインストールされます。また、/usr を共有しても、/usr のサブディレクトリにマウントされているローカルディスクパーティションは共有できません。

すでに共有している大規模なファイルシステムの一部であるファイルシステムを共有することはできません。たとえば、/usr および /usr/local が同じディスクスライスにある場合は、/usr または /usr/local を共有できます。ただし、異なる共有オプションを指定してこれら両方のディレクトリを共有するには、/usr/local を別のディスクスライスに移動する必要があります。

読み取り専用で共有しているファイルシステムに、読み取りと書き込みが可能な状態で共有しているファイルシステムのファイルハンドルでアクセスすることができます。ただし、両方のファイルシステムが同じディスクスライスにある必要があります。より安全にこれらのファイルシステムを使用するには、読み取りと書き込みが設定されているファイルシステムを、読み取り専用で共有しているファイルシステムとは別のパーティションまたはディスクスライスに配置します。


注 –

ファイルシステムの共有を解除してから再度共有するとき、NFS version 4 がどのように動作するかについては、「NFS version 4 におけるファイルシステムの共有解除と再共有」を参照してください。


非ファイルシステム用 share オプション

-o フラグに指定できるオプションの一部を次に示します。

rw|ro

pathname に指定したファイルシステムを、すべてのクライアントに対して読み取りと書き込みの両方が可能な状態で共有するか、読み取り専用で共有するかを指定します。

rw=accesslist

ファイルシステムは、リストに示されているクライアントに対してだけ、読み取りと書き込みの両方が可能な状態で共有されます。それ以外の要求は拒否されます。accesslist に定義されるクライアントのリストは、Solaris 2.6 から拡張されました。詳細については、share コマンドを使ってアクセスリストを設定する」を参照してください。このオプションは -ro オプションよりも優先されます。

NFS 用 share オプション

NFS ファイルシステムで指定できるオプションは、次のとおりです。

aclok

このオプションを指定すると、NFS version 2 プロトコルをサポートしている NFS サーバーが NFS version 2 クライアントのアクセス制御を行うように設定できます。このオプションを指定しないと、すべてのクライアントは最小限のアクセスしかできません。指定すると、最大限のアクセスができるようになります。たとえば -aclok オプションを指定して共有したファイルシステムでは、1 人のユーザーが読み取り権を持っていれば全員が読み取りを許可されます。このオプションを指定しないと、アクセス権を持つべきクライアントからのアクセスが拒否される可能性があります。ユーザーに与えるアクセス権は、既存のセキュリティーシステムによって決定します。アクセス制御リスト (ACL) の詳細は、『Solaris のシステム管理 (セキュリティサービス)』「アクセス制御リストによる UFS ファイルの保護」を参照してください。


注 –

アクセス制御リスト (ACL) を使用するには、クライアントとサーバーが、NFS version 3 プロトコルおよび NFS_ACL プロトコルをサポートしているソフトウェアを実行している必要があります。NFS version 3 プロトコルしかサポートしていないソフトウェアの場合、クライアントは正しいアクセス権を取得できますが、ACL を操作することはできません。NFS_ACL プロトコルをサポートしていれば、正しいアクセス権を取得した上で ACL の操作も可能です。この両方をサポートしているのは、Solaris 2.5 およびその互換バージョンです。


anon=uid

uid は、認証されていないユーザーのユーザー ID を選択するために使用します。uid-1 に設定すると、認証されていないユーザーからのアクセスは拒否されます。anon=0 とするとルートアクセス権を与えることができますが、これのオプションを指定すると、認証されていないユーザーにルートアクセス権を与えることになるため、代わりに root オプションを使用してください。

index=filename

-index= filename オプションを使用すると、ユーザーが NFS URL にアクセスすると、ディレクトリのリストが表示されるのではなく、HTML (HyperText Markup Language) ファイルが強制的に読み込まれます。これは、HTTP URL がアクセスしているディレクトリに index.html ファイルが見つかるとブラウザのような動作をするというものです。このオプションを設定することは、httpd に対して DirectoryIndex オプションを指定するのと同じ意味です。たとえば、dfstab ファイルに、次のようなエントリがあるとします。


share -F nfs -o ro,public,index=index.html /export/web

このとき、次の URL によって表示される情報はすべて同じです。


nfs://<server>/<dir>
nfs://<server>/<dir>/index.html
nfs://<server>//export/web/<dir>
nfs://<server>//export/web/<dir>/index.html
http://<server>/<dir>
http://<server>/<dir>/index.html
log=tag

このオプションは、ファイルシステム用の NFS サーバーログ構成情報の入った /etc/nfs/nfslog.conf 内のタグを指定します。NFS サーバーログ機能を使用可能にするにはこのオプションを選択する必要があります。

nosuid

このオプションを使用すると、setuid モードまたは setgid モードを有効にしようとしても無視されます。NFS クライアントは、setuidsetgid のビットがオンの状態ではファイルを作成できません。

public

-public オプションは、WebNFS ブラウズのために追加されました。このオプションで共有できるのは、1 台のサーバーにつき 1 つのファイルシステムだけです。

root=accesslist

サーバーが、リスト上のホストに対してルートアクセス権を与えます。デフォルトでは、サーバーはどのリモートホストにもルートアクセス権は与えません。選択されているセキュリティーモードが -sec=sys 以外だと、accesslist に指定できるのはクライアントホスト名だけです。accesslist に定義されたクライアントのリストは、Solaris 2.6 で拡張されました。詳細については、share コマンドを使ってアクセスリストを設定する」を参照してください。


注意 – 注意 –

ほかのホストにルートアクセス権を与えるには、広い範囲でセキュリティーが保証されていることが前提です。-root= オプションは十分慎重に使用してください。


root=client-name

client-name の値は、AUTH_SYS 認証で、exportfs(1B) で取得されたアドレスのリストにクライアントの IP アドレスが含まれているかどうかを検査するために使用します。リストに一致する IP アドレスが見つかった場合、クライアントに共有ファイルシステムへのルートアクセス権が与えられます。

root=host-name

AUTH_SYS または RPCSEC_GSS などのセキュリティー保護された NFS モードの場合、サーバーは、アクセスリストから派生したホストベースの主体名のリストに、クライアントの主体名が含まれているかどうかを検査します。クライアント主体名の汎用構文は root@hostname です。Kerberos V の場合、構文は root/hostname.fully.qualified@REALM です。host-name の値を使用する場合、アクセスリスト上のクライアントには主体名の資格が必要になります。Kerberos V の場合、クライアントには root/hostname.fully.qualified@REALM の主体名の有効な keytab エントリが必要です。詳細は、『Solaris のシステム管理 (セキュリティサービス)』「Kerberos クライアントの構成」を参照してください。

sec=mode[:mode]

mode は、ファイルシステムへのアクセス権を取得するために必要なセキュリティーモードです。デフォルトのセキュリティーモードは、UNIX の認証です。モードは複数指定できますが、コマンド行に指定するときは 1 行につき 1 つのセキュリティーモードだけにしてください。各 -mode オプションはほかの -mode が検出されるまで、後続のすべての -rw-ro-rw=- ro=-root=、および -window= オプションに適用されます。-sec=none とすると、すべてのユーザーがユーザー nobody にマップされます。

window=value

value は、NFS サーバーで資格が有効な時間の上限です。デフォルトは 30000 秒 (8.3 時間) です。

share コマンドを使ってアクセスリストを設定する

2.6 より前の Solaris リリースでは、share コマンドの -ro=-rw=、または -root= オプションに含まれる accesslist は、ホスト名またはネットグループ名のリストに限定されていました。Solaris 2.6 以降では、このアクセス制御リストにドメイン名、サブネット番号、およびアクセス権を与えないエントリも指定できます。この拡張により、名前空間を変更したり多数のクライアントを定義したリストを使用することなく、ファイルアクセス制御を単一のサーバーで簡単に管理できます。

次のコマンドは、ほとんどのシステムに読み取り専用アクセスを提供しますが、roselilac には読み取りと書き込みのアクセスを許可します。


# share -F nfs -o ro,rw=rose:lilac /usr/src

次の例では、eng ネットグループのすべてのホストで読み取りだけができるようになります。rose クライアントでは、読み取りと書き込みの両方ができます。


# share -F nfs -o ro=eng,rw=rose /usr/src

注 –

引数なしで rwro の両方を指定できません。読み書き可能オプションを指定しないと、デフォルトによってすべてのクライアントが読み書き可能になります。


複数のクライアントが 1 つのファイルシステムを共有するには、同じ行にすべてのオプションを入力する必要があります。同じオブジェクトに対して share コマンドを何度も実行しても、最後に実行されたコマンドだけが有効になります。次のコマンドでは、3 つのクライアントシステムで読み取りと書き込みができますが、rosetulip では、ファイルシステムに root でアクセスできます。


# share -F nfs -o rw=rose:lilac:tulip,root=rose:tulip /usr/src

複数の認証メカニズムを使用するファイルシステムを共有する場合は、正しいセキュリティーモードの後に -ro-ro=-rw-rw=-root、および -window オプションを必ず含めるようにしてください。この例では、eng というネットグループ内のすべてのホストに対して UNIX 認証が選択されています。これらのホストは、ファイルシステムを読み取り専用モードでしかマウントできません。ホスト tuliplilac は、Diffie-Hellman (DH) 認証を使用すれば読み書き可能でファイルシステムをマウントできます。これらのオプションを指定すると、tulip および lilac は、DH 認証を使用していない場合でも、ファイルシステムを読み取り専用でマウントすることができます。ただし、ホスト名が eng ネットグループに含まれている必要があります。


# share -F nfs -o sec=dh,rw=tulip:lilac,sec=sys,ro=eng /usr/src

デフォルトのセキュリティーモードは UNIX 認証ですが、-sec オプションを使用している場合、この UNIX 認証は含まれなくなります。そのため、UNIX 認証をほかの認証メカニズムとともに使用する場合は、-sec=sys オプションを指定する必要があります。

実際のドメイン名の前にドットを付けると、アクセスリスト中で DNS ドメイン名を使用できます。ドットの後の文字列はドメイン名です。完全指定のホスト名ではありません。次のエントリは、マウントから eng.example.com ドメイン内のすべてのホストへのアクセスを許可するためのものです。


# share -F nfs -o ro=.:.eng.example.com /export/share/man

この例で、「.」はそれぞれ NIS または NIS+ 名前空間を通じて一致するすべてのホストに対応します。ネームサービスから返される結果にはドメイン名は含まれません。「.eng.example.com」というエントリは、名前空間の解決に DNS を使用するすべてのホストに一致します。DNS が返すホスト名は必ず完全指定の名前になるので、DNS と他の名前空間を組み合わせると長いエントリが必要です。

実際のネットワーク番号かネットワーク名の前に「@」を指定すると、アクセスリストの中でサブネット番号を使用できます。この文字は、ネットワーク名をネットグループ名や完全指定のホスト名と区別するためです。サブネットは、/etc/networks の中か NIS または NIS+ 名前空間の中で識別できなければなりません。次のエントリは、サブネット 192.168eng ネットワークと識別されている場合、すべて同じ意味を持ちます。


# share -F nfs -o ro=@eng /export/share/man
# share -F nfs -o ro=@192.168 /export/share/man
# share -F nfs -o ro=@192.168.0.0 /export/share/man

2 番目と 3 番目のエントリは、ネットワークアドレス全体を指定する必要がないことを表しています。

ネットワークアドレスの先頭部分がバイトによる区切りでなく、CIDR (Classless Inter-Domain Routing) のようになっている場合には、マスクの長さをコマンド行で具体的に指定できます。この長さは、ネットワーク名かネットワーク番号の後ろにスラッシュで区切ってアドレスの接頭辞に有効ビット数として指定します。次に例を示します。


# share -f nfs -o ro=@eng/17 /export/share/man
# share -F nfs -o ro=@192.168.0/17 /export/share/man

この例で、「/17」はアドレスの先頭から 17 ビットがマスクとして使用されることを表します。CIDR の詳細は、RFC 1519 を参照してください。

また、エントリの前に「-」を指定することでアクセスの拒否を示すこともできます。エントリは左から右に読み込まれるため、アクセス拒否のエントリは次のようにそのエントリを適用するエントリの前に置く必要があることに注意してください。


# share -F nfs -o ro=-rose:.eng.example.com /export/share/man

この例では、eng.example.com ドメイン内のホストのうち、rose を除いたすべてに対してアクセスが許可されます。

unshare コマンド

このコマンドを使用すると、以前に使用可能な状態になっていたファイルシステムを、クライアントがマウントできないようにします。unshare コマンドを使用すると、share コマンドで共有したファイルシステムや、/etc/dfs/dfstab で自動的に共有しているファイルシステムが共有できないようになります。unshare コマンドを使って dfstab ファイルを使って共有していたファイルシステムの共有を解除する場合は、注意が必要です。一度実行レベル 3 を終了し再度実行すると、ファイルシステムは再度共有されます。実行レベル 3 を終了しても変更内容を継続させるには、そのファイルシステムを dfstab ファイルから削除する必要があります。

NFS ファイルシステムの共有を解除している場合、クライアントから既存マウントへのアクセスは禁止されます。クライアントにはファイルシステムがまだマウントされている可能性がありますが、ファイルにはアクセスできません。


注 –

ファイルシステムの共有を解除してから再度共有するとき、NFS version 4 がどのように動作するかについては、「NFS version 4 におけるファイルシステムの共有解除と再共有」を参照してください。


次の例では、指定したファイルシステムの共有が解除されます。


# unshare /usr/src

shareall コマンド

このコマンドを使用すると、複数のファイルシステムを共有することができます。オプションなしで使用すると、/etc/dfs/dfstab 内のすべてのエントリが共有されます。share コマンドを並べたファイルの名前を指定することができます。ファイル名を指定しないと、/etc/dfs/dfstab の内容が検査されます。「-」を使ってファイル名を置き換えれば、標準入力から share コマンドを入力できます。

次の例では、ローカルファイルに一覧表示されているすべてのファイルシステムが共有されます。


# shareall /etc/dfs/special_dfstab

unshareall コマンド

このコマンドを使用すると、現在共有されているリソースがすべて使用できなくなります。-F FSType オプションによって、/etc/dfs/fstypes に定義されているファイルシステムタイプのリストを選択します。このフラグによって、特定のタイプのファイルシステムだけを共有解除できます。デフォルトのファイルシステムタイプは、/etc/dfs/fstypes に定義されています。特定のファイルシステムを選択するには、unshare コマンドを使います。

次の例では、NFS タイプのファイルシステムの共有がすべて解除されます。


# unshareall -F nfs

showmount コマンド

このコマンドは、次のいずれかを表示します。


注 –

showmount コマンドを使用すると、NFS version 2 と version 3 のエクスポートだけが表示され、NFS version 4 のエクスポートは表示されません。


コマンドは、次のような構文になります。

showmount [ -ade ] [ hostname ]

-a

すべてのリモートマウントのリストを出力します。各エントリには、クライアント名とディレクトリが含まれます。

-d

クライアントがリモートマウントしたディレクトリのリストを表示します。

-e

共有されているファイル、またはエクスポートされたファイルのリストを表示します。

hostname

表示する情報の取得元 NFS サーバーを指定します。

hostname を指定しない場合、ローカルホストの情報が表示されます。

次のコマンドでは、すべてのクライアント、およびマウントしたローカルディレクトリが表示されます。


# showmount -a bee
lilac:/export/share/man
lilac:/usr/src
rose:/usr/src
tulip:/export/share/man

次のコマンドでは、マウントしたディレクトリが表示されます。


# showmount -d bee
/export/share/man
/usr/src

次のコマンドでは、共有しているファイルシステムが表示されます。


# showmount -e bee
/usr/src								(everyone)
/export/share/man					eng

setmnt コマンド

このコマンドを使用すると、/etc/mnttab テーブルが作成されます。このテーブルは、mount コマンドと umount コマンドで参照されます。通常、このコマンドは、システムのブート時に自動的に実行されるため、手動で実行する必要はありません。