NFS (Network File System) は,さまざまなシステムで構成される環境でファイルを共有するための機能です。 この章では次のことを説明します。
NFS
の概要については,
nfs_intro
(7)4.1 NFS 環境
クライアント
ファイル・システムをインポートするシステムです。
クライアントは,/etc/fstab
ファイルまたは自動マウント・デーモン (automount
や
autofsd
など) を使用して,ファイル・システムをマウントできます。
それぞれの方法について,この章で説明します。
サーバ
システムは NFS サーバ,WebNFS サーバ,NFS クライアント,またはその 3 者として設定することができます。
4.1.1 ホスト・データベースの分散
NIS (Network Information Service) や DNS (Domain Name System) でホスト情報を分散しているネットワークでは,クライアントの
/etc/fstab
ファイルで参照されている各サーバをクライアントのローカル
/etc/hosts
ファイルにリストする必要はありません。
ただし,サーバのホスト情報は,NIS データベースまたは DNS データベースにある必要があります。
同様に,ホスト情報とクライアント情報を分散するために,ネットワークが NIS または DNS を実行し,クライアント情報が
hosts
データベースにリストされている場合には,サーバの
/etc/exports
ファイルで参照されている各クライアントをサーバのローカル
/etc/hosts
ファイルにリストする必要はありません。
4.1.2 自動マウント・デーモン
automount
デーモンと
autofsd
デーモンは,リモート・ファイル・システムをマウントする手段として,/etc/fstab
ファイルの代わりに使用できます。
これによって,必要に応じてリモート・ファイル・システムをマウントできます。
上記のいずれかのデーモンを実行しているシステム上で,ユーザがリモート・ファイルやリモート・ディレクトリにアクセスするコマンドを呼び出すと,このデーモンは該当するファイル・システムまたはディレクトリをマウントして,ユーザが必要とする限りマウントされた状態に保持します。 ファイル・システムまたはディレクトリがアクセスされない状態で,指定の時刻 (省略時の値は 5 分) が経過すると,このデーモンは,そのマウントを解除します。
マウントするファイル・システムは,マップ・ファイルで指定します。 これらのマップは,次の方法で環境に適合するようにカスタマイズして管理できます。
NIS でマップを作成および分散します。
マップをローカルで管理します。
両方の方法の組み合わせを使用します。
これらのマップを作成する方法についての説明は,付録 Aを参照してください。
いくつかの制限事項
(
autofsmount
(8)
注意
Automount デーモンは,Tru64 UNIX の将来のリリースでは廃止される予定です。 Automount デーモンから AutoFS デーモンに移行する方法については,4.6.3.5 項を参照してください。
4.1.2.1 NIS による Automount マップと AutoFS マップの提供
NIS を使用すると,カスタマイズした Automount マップと AutoFSマップを作成し,分散させることができます。 NIS でマップを分散させる場合には,NIS マスタ・サーバの管理者は NIS ドメインのマップを作成して管理します。 この場合,Automount または AutoFS を使用する各システムを,マップを受信できるように NIS クライアントとして構成しなければなりません。
ある環境にいる多くのクライアントが,同じファイル・システムを
/etc/fstab
ファイルに指定してリモートでマウントする場合には,そのファイル・システムは,NIS によって分散されるマップに入れる有力候補になります。
マップを入念に構成すると,クライアント・システムは,/etc/fstab
ファイルの大部分を削除できます。
分散されたマップに含まれるファイル・システムの位置が変化したり,そのサーバが変更された場合には,管理者が NIS マスタ・サーバのマップを変更します。
変更内容は,/etc/fstab
ファイルを編集する必要のあるクライアント・システムのユーザを除いて,ドメイン全体に通知されます。
マップを提供するためにマスタ NIS サーバを構成する方法についての説明は,3.3.1 項を参照してください。
4.1.2.2 ローカルの Automount マップと AutoFS マップ
ローカルの Automount マップと AutoFS マップは,次の場合に便利です。
システムが,他の NIS クライアントによって通常はマウントされないリモート・ファイル・システムをマウントする場合。
ネットワークが NIS を実行していない場合。
マップをテストする必要がある場合。
automount
デーモンや
autofsd
デーモンのローカル管理は,NIS でマップを分散している場合の管理と基本的には同じです。
ただし,ローカル管理の場合には,システム管理者がマップの作成と管理を行います。
ローカル
auto.master
マップは,NIS ドメインに分散された機能と同じ働きをします。
ローカル
auto.master
を指定した場合には,デーモンは,他のマップの位置,ローカル・マウント・ポイント,およびマウント・オプションについてこの
auto.master
を調べます。
選択したデーモンが正しく起動されている場合には,NIS によって分散される
auto.master
マップとローカル
auto.master
マップのいずれかあるいは両方のマップを使用できます。
あるいはそのいずれも使用しないこともできます。
4.1.2.3 WebNFS
WebNFS は,クライアントが,ローカル・ファイルをアクセスするのと同じ方法で,インターネット経由でファイルにアクセスできるようにする NFS プロトコルです。
WebNFS では,ファイアウォールを越えて動作できるようにする,パブリック・ファイル・ハンドルを使用しています。
パブリック・ファイル・ハンドルにより,接続を初期化するために必要な時間も短縮されます。
パブリック・ファイル・ハンドルは,WebNFS サーバ上の 1 つのディレクトリ (public
) に関連付けられています。
詳細は,
exports
(4)exportfs
(2)nfs_intro
(4)4.2 NFS の計画
図 4-1
は,NFS を構成する際に必要な情報を記録することのできる NFS 設定ワークシートを示しています。
本書をオンラインで参照している場合には,プリント機能を使用してこのワークシートをプリントできます。
この後の項では,ワークシートに記録する必要のある情報について説明します。
図 4-1: NFS 設定ワークシート
実行する
nfsd
TCP および UDP サーバ・スレッドの数を入力します。
これらのスレッド・サービスは NFS クライアントから要求します。
省略時の設定値の 8 が,平均的な作業負荷に適切です。
合計 0 〜 128 の TCP サーバ・スレッドと UDP サーバ・スレッドを構成できます。
Cache Coherent NUMA をサポートしているシステムでは,RAD (Resource Affinity Domain) あたりのスレッド数を指定します。
詳細については,
nfsd
(8)numa_intro
(3)
プロパティ・リスト・デーモンを実行したい場合には,Yes をチェックしてください。
実行したくない場合には,No をチェックしてください。
プロパティ・リスト・デーモンは,
NFS が利用しているファイル・システム・オブジェクトに関連したプロパティ・リスト
の受け取り,設定または削除の要求をサーバが取り扱うことができるようにします。
詳細については,
proplistd
(8)proplist
(4)
NFS ロック・マネージャ (rpc.lockd
) および状態モニタ (rpc.statd
) を実行したい場合は,Yes をチェックしてください。
これらのデーモンを実行すると,fcntl
関数と
lockf
関数を使用して,(ローカルのファイルに加え) NFS ファイルのファイル・リージョンをロックすることが可能になります。
これらのデーモンを実行しない場合は,ローカル・ファイルに対して権限を与えられたロック・プリミティブのみを使用できます。fcntl
関数と
lockf
関数についての詳細は,
fcntl
(2)lockf
(3)
PC-NFS デーモン (rpc.pcnfsd
) を実行する場合は,Yes をチェックします。
実行しない場合は,No をチェックします。
PC-NFS デーモンは,サーバが PC から NFS 要求を取り扱うことができるようにします。
非 root マウントを認めると,root 特権を所有していないクライアント・システムのユーザが, このシステムからエクスポートされたファイル・システムまたはディレクトリをマウントすることできます。 root 以外のマウントを許可しない場合には,クライアント・システムのスーパユーザだけがこのホストからファイル・システムをマウントできます。 省略時の設定では,root 以外のマウントを許可しません。
エクスポートされたディレクトリを要求するホストのインターネット・アドレスをサーバに確認させたい場合は,Yes をチェックします。 そうでない場合は,No をチェックします。 Yes を選択し,ホストがサーバのドメインまたはサブドメイン内にあるかどうかも確認したい場合は, Domain Checking,Subdomain Checking,またはその両方をチェックします。
サーバからクライアント・システムにエクスポートするファイル・システムを,次のフィールドを使用して定義します。
エクスポートするファイル・システムまたはディレクトリのパス名です。
エクスポートする各ファイル・システムまたはディレクトリに割り当てる許可です。
ファイル・システムまたはディレクトリを,読み取り書き込み (rw) 許可または読み取り専用 (ro) 許可を与えてエクスポートするかどうかを指定できます。
さらに,クライアント・スーパユーザ・アクセスを省略時の値 -2 以外の root ユーザ ID (UID) 番号にマップできます。
-public
オプション・セットを利用している WebNFS サーバがある場合は,
WebNFS プロトコルを使用しているすべてのホストがこのディレクトリへのアクセスを持つように,マウント・アクセス・リストはサーバによって無視されます。
エクスポートするファイル・システムまたはディレクトリに対する割り当て許可,特にクライアントの root UID
のマッピングについての詳細は,
exports
(4)
ファイル・システムまたはディレクトリをエクスポートするネットワーク・グループまたは独立したホスト名です。
ネットワーク・グループの定義方法については,
netgroup
(4)
ファイル・システムまたはディレクトリをインポートできるホストを制限する場合には,独立したホストまたはネットワーク・グループを
/etc/exports
ファイルに明示的に指定する必要があります。
独立したホストまたはネットワーク・グループを指定しない場合には,すべてのホストがそのファイル・システムまたはディレクトリをインポートできます。
1 つのサブネット内で複数のネットワーク・インタフェースを使用しているクライアントにファイル・システムをエクスポートする際には,インタフェースごとにホスト名を指定する必要があります。 ホスト名を指定していないインタフェースが存在する場合,該当するインタフェースからのエクスポート要求は拒否されます。 サブネット内でマルチ・インタフェースを使用する方法とコネクションの均等化についての詳細は,『ネットワーク管理ガイド:接続編』を参照してください。
実行する I/O スレッドの数です。
サーバの負荷を最適にするために,省略時の値 7 を使用することをお勧めします。
0〜64 の
nfsiod
スレッドを構成できます。
nfsiod
スレッドはコマンド行から起動できます。
nfsiod
スレッドをコマンド行から起動させる方法についての説明は,
nfsiod
(8)
NFS ロック・マネージャ (rpc.lockd
) および状態モニタ (rpc.statd
) を実行する場合は,Yes をチェックします。
これらのデーモンを実行すると,fcntl
関数と
lockf
関数を使用して,(ローカルのファイルに加え) NFS ファイルのファイル・リージョンをロックすることが可能になります。
これらのデーモンを実行しない場合には,権限を与えられたロック・プリミティブはローカル・ファイルでのみ実行できます。
fcntl
関数と
lockf
関数についての詳細は,
fcntl
(2)lockf
(3)
クライアントで自動マウント・デーモン (Automount や AutoFS など) を実行する場合は,いずれかのデーモンのボックスをチェックします。 自動マウント・デーモンを実行しない場合は,None をチェックします。
選択できる自動マウント・デーモンは 1 つだけです。
AutoFS は Automount に比べ,効率と可用性の点で優れていますが,使用上の制限事項もあります。
詳細は,
autofsd
(8)autofsmount
(8)
ネットワークがネットワーク情報サービス (NIS) を実行している場合には,Automount マップや AutoFS マップは,マスタ NIS サーバによって,より適切に管理および利用されます。 マップのフォーマットは,マップがローカルなのか, または NIS マスタ・サーバによって提供されるのかに関係なく同じです。 マップを作成する方法についての説明は,付録 A を参照してください。
クライアントがインポートするリモート・ファイル・システムを,次のフィールドを使用して定義します。
インポートするファイル・システムまたはディレクトリの絶対パス名。
インポートするファイル・システムやディレクトリが存在するサーバのホスト名。
インポートしたファイル・システムまたはディレクトリを常駐させるローカル・システムのマウント・ポイントです。
インポートされたファイル・システムまたはディレクトリのアクセス許可です。 読み取り専用でマウントする場合は,ボックスをチェックします。 読み取りおよび書き込み両用でマウントする場合には,ボックスをチェックしないままにします。
注意
サーバからユーザ領域をマウントする場合は,クライアントの UID がサーバの UID と同じであることを確認してください。 NFS は,クライアント UID を使用して,サーバのファイル・アクセス許可を確かめます。 クライアントとサーバで UID が異なると,自分の NFS マウント・ファイルを変更できません (自分だけ変更できるようにマウントしたファイルに許可を持っていると想定した場合)。 サーバがアクセス・チェックを行うために,ファイルの変更を許可されている UID だけが,サーバが認識する UID となります。
Common Desktop Environment (CDE) のアプリケーション・マネージャの SysMan Menu を使用して,クライアントおよびサーバに NFS を構成します。
SysMan Menu アプリケーションを起動するには,
1.2.1 項
の手順に従ってください。
4.3.1 NFS サーバの構成
NFS サーバを構成するには,次の手順に従ってください。 システムがファイル・システムをインポートするようにするには, 4.3.2 項 にある NSF クライアントの構成方法についての情報を参照してください。
SysMan Menu から [ネットワーク] --> [追加ネットワーク・サービス] --> [NFS (Network File System)] --> [NFS サーバとしてシステムを設定] を選択して,「NFS サーバの設定」ダイアログ・ボックスを表示します。
代わりに,次のコマンドをコマンド行から入力することもできます。
# /usr/bin/sysman nfs_server
実行するサーバ TCP スレッドの数を,該当するフィールドに入力します。
実行するサーバ UDP スレッドの数を,該当するフィールドに入力します。
プロパティ・リスト・デーモン (proplistd
) を実行するには,「プロパティ・リスト・デーモンを有効にする」チェック・ボックスをオンにします。
NFS ロック・マネージャ・デーモン (rpc.lockd
) および状態モニタ・デーモン (rpc.statd
) を実行しない場合には,「ロックを有効にする」チェック・ボックスをオフにします。
省略時の設定では,「ロックを有効にする」はオンになっています。
rpc.pcnfsd
デーモンを実行する場合には,「PC-NFS デーモンを有効にする」チェック・ボタンをオンにします。
PC-NFS デーモンを実行する場合には,クライアントに,PC クライアント上にマウントするディレクトリをエクスポートしなければなりません。
クライアントがネットワーク印刷機能を利用できるようにするには,/usr/spool/pcnfs
ディレクトリを,その PC クライアントにエクスポートしなければなりません。
ディレクトリのエクスポートの詳細については,4.5.2 項
を参照してください。
ルート以外のユーザがファイル・システムをマウントできるようにするには,「root 以外のユーザへのマウントを許可する」チェック・ボックスをオンにします。
マウントまたはアンマウントを要求しているそれぞれのホストの IP アドレスを,mountd
デーモンが確認しないようにするには,「インターネット・アドレスのチェック」チェック・ボックスをオフにします。
省略時の設定では,「インターネット・アドレスのチェック」はオンになっています。
「インターネット・アドレスのチェックとドメインのチェック」チェック・ボックスをオンにして,マウントまたはアンマウントを要求しているホストが,このサーバのドメイン内にあることを
mountd
デーモンが確認するようにします。
「インターネット・アドレスのチェックとサブドメインのチェック」チェック・ボックスをオンにして,マウントまたはアンマウントを要求しているホストが,このサーバのサブドメイン内にあることを
mountd
デーモンが確認するようにします。
4.5.2 項の手順 2 から 7 の操作を実行して,エクスポートする対象のディレクトリを指定します。
[了解] を選択して,変更を有効にします。 ユーティリティは,NFS デーモンを起動するよう促すプロンプトを表示します。
[はい] を選択して構成を保存し,デーモンを起動し,変更を直ちに適用します。 あるいは,[いいえ] を選択して構成を保存し,「NFS サーバの設定」ダイアログ・ボックスを閉じて,次にシステムをリブートしたときに変更が適用されるようにします。
[はい] を選択すると,NFS デーモンが起動されたという通知が表示されます。 [了解] を選択してこのメッセージを消去し,「NFS サーバの設定」ダイアログ・ボックスを閉じます。
初期設定後も,サーバの設定を変更または構成解除することができます。
詳細は,オンライン・ヘルプおよび
4.4 節を参照してください。
4.3.2 NFS クライアントの構成
NFS クライアントを構成するには,次の手順に従ってください。
SysMan Menu から [ネットワーク] --> [追加ネットワーク・サービス] --> [NFS (Network File System)] --> [NFS クライアントとしてシステムを設定] を選択します。 「NFS クライアントの設定」ダイアログ・ボックスが表示されます。
代わりに,次のコマンドをコマンド行から入力することもできます。
# /usr/bin/sysman nfs_client
実行するクライアント I/O スレッドの数を,該当するフィールドに入力します。
lockd
デーモンの状態が「Stopped」の場合には,「ロックを有効にする」チェック・ボックスをオンにして,構成のロックを指定します。
デーモンの状態が「Running」の場合には,ロックは既に設定されています。
「automount デーモンを有効にする」チェック・ボックスをオンにして,automount
デーモンを構成します。
Automount の詳細については
4.1.2 項を,Automount マップの詳細については
付録 A
を参照してください。
AutoFS デーモンを構成する場合には,4.6.3.2 項に記載されている情報を参照してください。
automount
デーモンに対する適切な引数を,「automount 引数」フィールドに入力します。
詳細は
4.6.3.4 項を参照してください。
4.6.1 項
の手順 2 から 10 の操作を実行して,インポートするディレクトリで,automount
コマンドによってまだインポートされていないものを指定します。
[了解] を選択して,変更を有効にします (ユーザが使用可能な
automount
引数は多数あるため,これらの引数の有効化は,automount
デーモンが起動され,これらの引数を確認するまで延期されます)。
NFS デーモンを起動または再起動するかどうか聞かれます。
[はい] を選択して構成を保存し,デーモンを起動し,変更を直ちに適用します。 あるいは,[いいえ] を選択して構成を保存し,「NFS クライアントの設定」ダイアログ・ボックスを閉じて,次にシステムをリブートしたときに変更が適用されるようにします。
[はい] を選択すると,NFS デーモンが起動されたという通知が表示されます。 [了解] を選択してこのメッセージを消去し,「NFS クライアントの設定」ダイアログ・ボックスを閉じます。
初期設定後も,クライアントの設定を変更または構成解除することができます。
詳細は,オンライン・ヘルプおよび
4.4 節
を参照してください。
4.4 NFS の構成解除
SysMan Menu を使用して NFS サーバまたは NFS クライアントを構成解除することができます。 NFS サーバまたは NFS クライアントを構成解除すると,対応する NFS デーモンは終了し,すべての対応するNFS 情報は,システムから削除されます。 このアクションは,取り消すことができません。 NFS サーバまたはクライアントを回復するには,SysMan Menu を使用して再構成する必要があります。
NFS サーバを構成解除しても,クライアント・サービスは削除されません。 同様に,NFS クライアントを構成解除しても,サーバ構成は削除されません。 システム上のクライアントおよびサーバ構成の両方を構成解除するには,それぞれの操作を個別に実行してください。
NFS サーバを構成解除するには,SysMan Menu から [NFS サーバとしてのシステムの設定を解除] を選択するか,次のコマンドをコマンド行から入力します。
# /usr/sbin/sysman nfs_deconfig_server
NFS クライアントを構成解除するには,SysMan Menu から [NFS クライアントとしてのシステムの設定を解除] を選択するか,次のコマンドをコマンド行から入力します。
# /usr/sbin/sysman nfs_deconfig_client
クライアントおよびサーバのどちらの場合にも,「NFS の設定解除」ダイアログ・ボックスが表示されます。
[はい] を選択すると,サービスが構成解除されます。
サービスが構成解除されたという通知が表示されます。
[了解] を選択してこのメッセージを消去し,ダイアログ・ボックスを閉じます。
4.5 NFS サーバの管理
この節では,次の NFS サーバ・タスクを実行する方法について説明します。
ディレクトリまたはファイル・システムをエクスポートする方法
ディレクトリまたはファイル・システムのエクスポートを停止する方法
クライアント・システムのスーパユーザが root としてファイルにアクセスできるようにする方法
NFS を介してスーパユーザ (root) にメールを送信する方法
ポート・モニタ機能を使用できるようにする方法
NFS の負荷を監視する方法
/etc/exports
ファイルは,クライアントがマウントできる,それぞれのファイル・システムおよびディレクトリを定義します。
/etc/exports
ファイルにエントリを作成するときには,次の点に注意してください。
それぞれのエクスポートされたファイル・システムまたはディレクトリには,1 つだけエントリを作成します。 複数のエントリはサポートされていません。
それぞれのエントリは,そのディレクトリ,およびそこに含まれるすべてのサブディレクトリをエクスポートしますが,エクスポートされたディレクトリとは異なるファイル・システム (ディスク・パーティション) に常駐しているサブディレクトリは,エクスポートの対象になりません。
ファイル・システムおよびディレクトリは,省略時の設定では,読み取り書き込みアクセスが設定されてエクスポートされます。
ファイル・システムまたはディレクトリに,リモート・システム (クライアント) 名が指定されない場合には,同じネットワーク上にあるどのクライアントでも,そのファイル・システムまたはディレクトリをマウントできます。
ファイル・システムまたはディレクトリに,1 つ以上のクライアント名が指定されると,そのクライアントだけが,エクスポートされたファイルまたはディレクトリをマウントできるようになります。
1 つのサブネット内で複数のネットワーク・インタフェースを使用しているクライアントにファイル・システムをエクスポートする際には,インタフェースごとにホスト名を指定する必要があります。
-i
オプションを使用して
mountd
デーモンを 起動した場合には,
サーバのホスト・データベースにあるホストだけが,マウント・アクセスを許可されます。
-d
または
-s
オプションを使用して
mountd
デーモンを起動した場合には,それぞれ同じドメインまたはサブドメインにあるクライアントだけが,マウント・アクセスを許可されます。
特定のディレクトリを特定のクライアントにエクスポートする方が,ファイル・システム全体をすべてのクライアントにエクスポートするよりも安全です。
サーバにエクスポートされたデータの機密性が高い場合には,これらのデータ・ファイルの所有者をルートに設定し,ルートだけがアクセスできるようにします。 クライアント・システム上のスーパユーザが NFS 経由でルート・アクセスできないようにします。
-public
オプションを指定できるのは,エクスポートしたいずれか 1 つのファイル・システムのみです。
4.5.2 ファイル・システムまたはディレクトリのエクスポート
ファイル・システムまたはディレクトリをエクスポートすると,ネットワーク上のクライアント・システムがリモートでマウントできるようになります。 システムを NFS サーバに設定し,ファイル・システムおよびディレクトリをエクスポートすると,システムの安全性が低下することに注意してください。 ただし,ファイルをエクスポートする方法によっては,セキュリティ・リスクを最小限に抑えることができます。
SysMan Menu を使用してファイル・システムをエクスポートするには,次の手順に従ってください。
SysMan Menu から [ネットワーク] --> [追加ネットワーク・サービス] --> [NFS (Network File System)] --> [NFS サーバとしてシステムを設定] を選択して,「NFS サーバの設定」ダイアログ・ボックスを表示します。
代わりに,次のコマンドをコマンド行から入力することもできます。
# /usr/bin/sysman nfs_server
[ローカル・ディレクトリの共有] ボタンを選択して,「ローカル・ディレクトリの共有」ダイアログ・ボックスを表示します。
[追加] を選択して,シェアード・ライブラリを追加します。 「追加/修正」ダイアログ・ボックスが表示されます。
エクスポートするディレクトリの完全パス名を,「共有するディレクトリ」フィールドに入力します。
ディレクトリのアクセスが読み取り書き込みなのか,読み取り専用なのか,また,アクセスできるのがすべてのホストなのか,指定されたホストだけなのかを選択します。 省略時の設定では,エクスポートされるディレクトリには読み取り書き込み許可があり,すべてのホストがアクセスできます。
「読み書き両用」または「読み取り専用」ダイアログ・ボックスの「選択」を選択した場合には,このディレクトリにアクセスできるそれぞれのホスト名を,該当するフィールドに入力します。 それぞれのホストについて [追加] を選択します。
[了解] を選択してエントリを有効にし,「追加/修正」ダイアログ・ボックスを閉じます。 他のディレクトリについても,手順 3 から 6 を繰り返します。
[了解] を選択して,エクスポートの対象に選択したディレクトリのリストを
/etc/exports
ファイルに保存します。
変更が実行されたという通知が表示されます。
[了解] を選択してこのメッセージを消去し,「ローカル・ディレクトリの共有」ダイアログ・ボックスを閉じます。
[了解] を選択して,「NFS サーバ」ダイアログ・ボックスを閉じます。
エクスポートされたディレクトリは,「ローカル・ディレクトリの共有」ダイアログ・ボックスを使用して,変更したり削除したりできます。 詳細は,4.5.3 項 およびオンライン・ヘルプを参照してください。
オプションで,テキスト・エディタを使用して,エクスポートされたディレクトリを直接,/etc/exports
ファイルで追加,変更,および削除することもできます。
このファイルの編集方法の詳細については,
exports
(4)4.5.3 ディレクトリまたはファイル・システムのエクスポートの停止
ディレクトリまたはファイル・システムのエクスポートを停止すると,クライアント・システムが,特定のディレクトリまたはファイル・システムにアクセスできなくなります。 他のディレクトリまたはファイル・システムは,エクスポートすることができます。 どのファイル・システムもエクスポートしないようにするには,4.4 節 で説明している手順に従って,NFS サーバを構成解除します。
SysMan Menu を使用してファイル・システムのエクスポートを停止するには,次の手順を行います。
SysMan Menu から [ネットワーク] --> [追加ネットワーク・サービス] --> [NFS (Network File System)] --> [NFS サーバとしてシステムを設定] を選択して,「NFS サーバの設定」ダイアログ・ボックスを表示します。
代わりに,次のコマンドをコマンド行から入力することもできます。
# /usr/bin/sysman nfs_server
[ローカル・ディレクトリの共有] ボタンを選択して,「ローカル・ディレクトリの共有」ダイアログ・ボックスを表示します。
エクスポートしないように設定するエントリを,共用ディレクトリのリストから選択します。
[削除] を選択して,強調表示されたエントリをリストから削除します。 他のエントリのエクスポートも停止するには,手順 3 と 4 を繰り返します。
[了解] を選択して,残りのエクスポート・リストを
/etc/exports
ファイルに保存します。
変更が実行されたという通知が表示されます。
[了解] を選択してこのメッセージを消去し,「ローカル・ディレクトリの共有」ダイアログ・ボックスを閉じます。
[了解] を選択して,「NFS サーバ」ダイアログ・ボックスを閉じます。
「ローカル・ディレクトリの共有」ダイアログ・ボックスでは,エクスポートするディレクトリを追加したり,エクスポート済みのディレクトリを変更することもできます。 詳細は,4.5.2 項 およびオンライン・ヘルプを参照してください。
テキスト・エディタを使用して
/etc/exports
ファイルを直接編集し,エクスポートするディレクトリの追加や変更,および削除を行うことも可能です。
このファイルの編集方法についての詳細は,
exports
(4)4.5.4 クライアント・スーパユーザへのファイル・アクセスの許可
NFS の省略時の設定では,クライアント・システムのスーパユーザ (root) は,サーバでスーパユーザの特権を所有していないため,次の操作ができません。
ワールド・アクセスが許可されていない,リモートでマウントされたファイルおよびディレクトリにアクセスする。
リモートでマウントされたファイルの所有権を変更する (chown
コマンドを実行する)。
セキュリティを確保するためには,リモート・ホストとリモート・スーパユーザの両方が信頼できない限り,リモート・スーパユーザがスーパユーザとしてシステムにアクセスすることを禁止してください。 ただし,セキュリティが厳しくないネットワーク環境では,スーパユーザがネットワークにアクセスすることを明示的に許可できます。
クライアント・スーパユーザがサーバ・システムにアクセスするのを許可するには,サーバの
/etc/exports
ファイルを編集して,使用可能にするエントリに
-root=0
オプションを追加します。
-root=0
オプションは,リモート・スーパユーザの ID を UID 0 にマップします。
今後,すべてのマウント要求は root マッピングが与えられます。
省略時の設定では,このオプションによって,スーパユーザはネットワーク上のいずれかのクライアント・システムからもアクセスできます。
スーパユーザのアクセスを特定のシステムに限定するには,-root=host_list
オプションを使用します。
この
host_list
は,ホスト名のリストです。
詳細については,
exports
(4)
省略時の設定では,NFS サーバは,スーパユーザと UNIX 認証のないユーザ (パーソナル・コンピュータ・システム) を anonymous ユーザと見なします。
このクラスのユーザは,ワールドにアクセス可能なファイルにだけアクセスできます。
anonymous ユーザがファイル・システムまたはディレクトリにアクセスできないようにするには,-anon=-1
オプションを使用します。
さらに,クライアント・スーパユーザがファイル・システムまたはディレクトリにアクセスできるようにするには,-anon
オプションに加えて
-root
オプションも指定してください。
-root
オプションは,クライアント・スーパユーザにだけ
-anon
オプションを指定変更します。
クライアント・システムのスーパユーザは,UID 番号を置き換えることによってクライアント・システムの他のユーザと同じユーザであるとみなすことができます。 クライアント・スーパユーザなら,サーバの他のユーザのアクセス権を所有しているはずです。 したがって,サーバのエクスポートされた重要なデータを保護するには, root をそのデータ・ファイルの所有者にします。 root マッピングを使用してディレクトリまたはファイル・システムをエクスポートしてはなりません。 これが役立つのは,ファイル・システムの他のファイルをエクスポートする必要がある場合です。
次の例に,/etc/exports
ファイルのエントリを示します。
/usr/games -root=0 host8 [1] /usr/templates -root=host8 [2]
/usr/games
ファイル・システムをエクスポートします。
このファイル・システムは,クライアント・システム host8 だけがリモートでマウント (読み取り/書き込みモード) できます。
しかし,クライアント・スーパユーザは,ファイル・システムへスーパユーザ・アクセスができます。
スーパユーザの UID は 0 (ゼロ) です。
[例に戻る]
/usr/templates
ファイル・システムをエクスポートします。
ネットワークのクライアントはすべて,リモートでマウント (読み取り/書き込みモード) できます。
しかし,host8 のスーパユーザだけはファイル・システムへスーパユーザ・アクセスできます。
[例に戻る]
/usr/spool/mail
ディレクトリをサーバからリモート・マウントしており,しかもこのディレクトリが
root=0
オプションではエクスポートされていない場合,クライアントのユーザからサーバのスーパユーザ (root) にメールを送信することができません。
クライアントから root へのメール送信を可能にするには,root および admin の別名をそのシステムのシステム管理者のログイン名または名前に設定してください。
そのようにすれば,ユーザは,次のようにそのシステムのシステム管理者宛メールにアドレス指定できます。
admin@system
クライアントがメールを root に送信できるようにするには,次の手順に従ってください。
/var/adm/sendmail.cf
ファイルを編集して,別名 admin を次の行に追加します。
CN MAILER-DAEMON postmaster
編集後の行は,次のようになります。
CN MAILER-DAEMON postmaster admin
これによって,名前 admin がクラス N に追加されます。
他の方法では,ローカル・ユーザとして,Mail Configuration アプリケーションを実行して
admin
を追加できます。
詳細については,第 7 章を参照してください。
/var/adm/sendmail/aliases
ファイルを編集して,システム管理者のログイン名を追加し,名前
root
を
admin
に再定義 (別名指定) します。
次のコマンドを使用して,sendmail
デーモンを再起動させます。
# /sbin/init.d/sendmail restart
クライアントがメールを root に送信できるようにする場合には,次のことに注意してください。
LAN 上のすべてのシステムで,「任意のシステムの root または admin へのメールは,任意のシステムの任意のユーザ・ログインに自動的に転送できる」という規則にできるだけ従うようにしてください。
/usr/spool/mail/root
メールボックスは作成されないか,または使用されません。
次の例に,クライアントがメールを root に送信できるようにするための手順を示します。
# vi /var/adm/sendmail/sendmail.cf [1]
.
.
.
# vi /var/adm/sendmail/aliases [2]
.
.
.
# /sbin/init.d/sendmail restart [3]
/var/adm/sendmail/sendmail.cf
ファイルをオープンして,admin 別名を追加します。
[例に戻る]
/var/adm/sendmail/aliases
ファイルをオープンして,ログイン名および root 別名を追加します。
[例に戻る]
sendmail
デーモンを再起動させます。
[例に戻る]
次の例に,システム管理者の john,mary および joe に対する
/var/adm/sendmail/aliases
ファイル内のエントリを示します。
admin:john,mary,joe root:admin
特権ユーザだけが,特権ポートとして知られているインターネット・ドメイン・ソース・ポートに接続できます。 省略時の設定では,NFS は,クライアントが特権ポートにバインドしているかどうかを確かめません。 NFS サーバのポート・モニタリングを使用して,ファイル・アクセス要求が,アプリケーション・プログラムではなくクライアント・カーネルによって発行されることを確かめることができます。
このオペレーティング・システムは特権ポートの規則を守らせますが,強制しないオペレーティング・システムもあります。 異なるオペレーティング・システムを実行しているホストがネットワーク上に存在する場合には,ポート・チェック機能を有効にしてもセキュリティが向上しないかもしれませんが,これらのシステムが NFS クライアント・システムとして正常に動作するのを阻止することができます。
NFS サーバのポート・モニタリングを開始するには,次のコマンドを実行します。
# /usr/sbin/nfsportmon on
ソース・ポート・モニタリングを停止するには,次のコマンドを実行します。
# /usr/sbin/nfsportmon off
NFS の負荷をモニタリングすることによって,ローカル・マシンで実行されているクライアントおよびサーバの NFS 要求数を調べることができます。 NFS 要求を定期的にモニタリングすれば,NFS サーバ・スレッドを追加すべきかどうかを,より的確に判断できます。
NFS 要求をモニタリングするには,次の構文の
nfsstat
コマンドを使用します。
nfsstat -n
NFS
ロードのモニタリングについての詳細は,
nfsstat
(8)
次の例に,ローカル・マシンでのクライアントおよびサーバの実行状態を示します。
# /usr/bin/nfsstat -n nfs: calls badcalls 69228 0 Server nfs V2: null getattr setattr root lookup readlink read 1 0% 24 0% 0 0% 0 0% 60 0% 0 0% 5 0% wrcache write create remove rename link symlink 0 0% 58030 83% 20 0% 0 0% 0 0% 0 0% 0 0% mkdir rmdir readdir statfs 0 0% 0 0% 0 0% 2 0% Server nfs V3: null getattr setattr lookup access readlink read 0 0% 667 0% 1009 1% 2598 3% 101 0% 200 0% 1408 2% write create mkdir symlink mknod remove rmdir 1280 1% 376 0% 71 0% 200 0% 0 0% 676 0% 70 0% rename link readdir readdir+ fsstat fsinfo pathconf 100 0% 100 0% 468 0% 0 0% 1750 2% 2 0% 0 0% commit 10 0% Client nfs: calls badcalls nclget nclsleep 224664 0 224664 0 Client nfs V2: null getattr setattr root lookup readlink read 0 0% 51328 22% 1069 0% 0 0% 41643 18% 455 0% 28793 12% wrcache write create remove rename link symlink 0 0% 64665 28% 589 0% 1052 0% 352 0% 250 0% 250 0% mkdir rmdir readdir statfs 171 0% 170 0% 2689 1% 1814 0% Client nfs V3: null getattr setattr lookup access readlink read 0 0% 2038 0% 2180 0% 8534 3% 430 0% 450 0% 3136 1% write create mkdir symlink mknod remove rmdir 3158 1% 1048 0% 243 0% 450 0% 1 0% 1848 0% 242 0% rename link readdir readdir+ fsstat fsinfo pathconf 452 0% 350 0% 1240 0% 0 0% 3506 1% 3 0% 0 0% commit 75 0%
システムは,次の条件を満たす場合に NFS クライアントになることができます。
システムがネットワーク上の NFS サーバに到達できる場合。
システムのホストまたはネットワーク・グループ名がサーバの
/etc/exports
ファイルに含まれているか,またはサーバがネットワーク上のすべてのシステムにファイル・システムをエクスポートしている場合。
この節では,次の NFS クライアント・タスクの実行方法について説明します。
4.6.1 リモート・ファイル・システムまたはディレクトリのマウント
リモート・ファイル・システム,またはリモート・ファイル・システム内のどのサブディレクトリでも,ローカル・マウント・ポイントにマウントすることができます。 マウントされると,そのローカル・システムによって,1 つのファイル・システムとして取り扱われます。
SysMan Menu を使用してリモート・ファイル・システムまたはディレクトリをマウントするには,次の手順に従ってください。
SysMan Menu から [ネットワーク] --> [追加ネットワーク・サービス] --> [NFS (Network File System)] --> [NFS クライアントとしてシステムを設定] を選択して,「NFS クライアントの設定」ダイアログ・ボックスを表示します。
代わりに,次のコマンドをコマンド行から入力することもできます。
# /usr/bin/sysman nfs_client
[ネットワーク・ディレクトリのマウント] ボタンを選択して,「ネットワーク・ディレクトリのマウント」ダイアログ・ボックスを表示します。
/etc/fstab
ファイルに保存されている NFS マウント・ディレクトリのリストが表示されます。
mount
コマンドを使用してマウントしたリモート・ファイル・システムは,このリストには含まれていません。
[追加] を選択して,リモート・ディレクトリを追加します。 「追加/修正」ダイアログ・ボックスが表示されます。
リモート・ディレクトリがエクスポートされる元の NFS サーバのホスト名を,「リモート・ホスト名」フィールドに入力します。
インポートされるディレクトリの完全パス名を,「リモート・ディレクトリのパス」フィールドに入力します。
インポートするディレクトリのマウント先となるローカル・ディレクトリの完全パス名を,「ローカル・マウント・ポイント」フィールドに入力します。
ディレクトリのアクセスが読み取り書き込みなのか,読み取り専用なのかを,該当するラジオ・ボタンを使用して選択します。
リブートするつどそのディレクトリをマウントするには,「リブート時にマウントする」チェック・ボックスをオンにします。
[了解] を選択してエントリを有効にし,「追加/修正」ダイアログ・ボックスを閉じます。 他のディレクトリについても,手順 3 から 9 を繰り返します。
[了解] を選択して,インポートの対象に選択したディレクトリのリストを保存します。
リブート時にマウントされるこれらのディレクトリの名前は,
/etc/fstab
ファイルに保存されます。
変更が実行されたという通知が表示されます。 [了解] を選択してこのメッセージを消去し,「ネットワーク・ディレクトリのマウント」ダイアログ・ボックスを閉じます。
[了解] を選択して,「NFS クライアントの設定」ダイアログ・ボックスを閉じます。
インポートされたディレクトリは,「ネットワーク・ディレクトリのマウント」ダイアログ・ボックスを使用して,変更したり削除したりできます。 詳細は,4.6.2 項 およびオンライン・ヘルプを参照してください。
「ネットワーク・ディレクトリのマウント」ダイアログ・ボックスを使用してインポートされたそれぞれのディレクトリは,mount
コマンドの
bg
および
hard
オプションを使用してマウントされています。
ディレクトリのマウントに最初に失敗すると,クライアントは,バックグラウンドでこのマウント処理を実行し (bg
オプション),サーバが応答するまで,このディレクトリをマウントしようとし続けます (hard
オプション)。
ダイアログ・ボックスでは,その他の
mount
オプションを選択することはできません。
オプションで,mount
コマンドを使用して,コマンド行からリモート・ファイル・システムをマウントできます。
あるいは,テキスト・エディタを使用して,エントリを直接,/etc/fstab
ファイルで追加,変更,および削除することもできます。
これらの代わりの方法は,「ネットワーク・ディレクトリのマウント」ダイアログ・ボックスでサポートされていない
mount
オプションを指定する必要がある場合に使用します。
詳細は,
mount
(8)umount
(8)fstab
(4)4.6.2 リモート・ファイル・システムまたはディレクトリのアンマウント
リモート・ファイル・システムやディレクトリをアンマウントすると,NFS サーバからインポートしているファイル・システムやディレクトへアクセスできなくなります。 その場合でも,他のディレクトリやファイル・システムをインポートすることはできます。 ファイル・システムをインポートしたくない場合,4.4 節 で説明しているように NFS クライアントの構成を解除することもできます。
SysMan Menu を使用してリモート・ファイル・システムやディレクトリをアンマウントするには,次の手順に従ってください。
SysMan Menu から [ネットワーク] --> [追加ネットワーク・サービス] --> [NFS (Network File System)] --> [NFS クライアントとしてシステムを設定] を選択します。 「NFS クライアントの設定」ダイアログ・ボックスが表示されます。
代わりに,次のコマンドをコマンド行から入力することもできます。
# /usr/bin/sysman nfs_client
[ネットワーク・ディレクトリのマウント] ボタンを選択して,「ネットワーク・ディレクトリのマウント」ダイアログ・ボックスを表示します。
/etc/fstab
ファイルに保存されている NFS マウント・ディレクトリのリストが表示されます。
mount
コマンドを使用してマウントしたリモート・ファイル・システムは,このリストには含まれていません。
これらのファイル・システムをアンマウントするには,umount
コマンドを使用します。
詳細は,
umount
(8)
アンマウントするエントリをリストから選択します。
[削除] を選択して,強調表示されたエントリをリストから削除します。 他のエントリも削除するには,手順 3 と 4 を繰り返します。
[了解] を選択して,インポートされたディレクトリの現在のリストを
/etc/fstab
ファイルに保存します。
変更が実行されたという通知が表示されます。 [了解] を選択してこのメッセージを消去し,「ネットワーク・ディレクトリのマウント」ダイアログ・ボックスを閉じます。
[了解] を選択して,「NFS クライアント」ダイアログ・ボックスを閉じます。
「ネットワーク・ディレクトリのマウント」ダイアログ・ボックスでは,インポートするディレクトリを追加したり,インポート済みのディレクトリを変更することもできます。 詳細は,4.6.1 項 とオンライン・ヘルプを参照してください。
コマンド行から
umount
コマンドを使用してリモート・ファイル・システムをアンマウントすることもできます。
また,テキスト・エディタを使用して
/etc/fstab
ファイルに対して直接,エントリの追加,変更,および削除を行うことも可能です。
詳細は,
mount
(8)umount
(8)fstab
(4)4.6.3 リモート・ファイル・システムの自動マウント
以降の項では,Automount と AutoFS の構成方法について説明します。 これらのサービスを使用すれば,リモート・ファイル・システムやディレクトリを,アクセス時に自動的にマウントすることができます。
注意
Automount デーモンは,Tru64 UNIX の将来のリリースでは廃止される予定です。 Automount から AutoFS に移行する方法については,4.6.3.5 項を参照してください。
サービスの構成を開始する前に,ローカル・マップを使用するのか,NIS の分散マップを使用するのかを決定します。
ローカル・マップおよび NIS の分散マップについては,
4.1.2 項
を参照してください。
4.6.3.1 Automount によるリモート・ファイル・システムのマウント
ローカルの Automount マップを使用するには,次の手順に従ってください。
ルートとしてログインします。
ローカルの
auto.master
マップを作成します。
このマップや他のマップはシステム上の任意のディレクトリに作成できますが,SysMan Menu がマップの検出先として期待している,/etc
ディレクトリに作成するのが一般的です。
マップの作成方法については,付録 A を参照してください。
注意
既存の
auto.master
マップに変更を加えた場合は,変更後のマップを反映するために,automount
デーモンを停止してから再起動しなければなりません。
システムのローカル・マップを作成します。
SysMan Menu の「NFS クライアントの設定」ダイアログ・ボックスを使用して,automount
デーモンを起動します。
automount
デーモンの起動方法については,4.3.2 項
を参照してください。
automount
デーモンが起動されると,ローカルの
auto.master
ファイルを使用して,他のマップの位置,それらのローカル・マウント・ポイント・およびマウント・オプションが決定されます。
NIS の分散 Automount マップを使用するには,次の手順に従ってください。
システムを NIS クライアントとして設定します。 NIS クライアントの設定方法については,3.3.3 項 を参照してください。
SysMan Menu の「NFS クライアントの設定」ダイアログ・ボックスを使用して,automount
デーモンを起動します。
デーモンの起動方法については,4.3.2 項
を参照してください。
ドメイン内のすべての Automount マップは,NIS マスタ・サーバが提供します。
automount
デーモンが起動されると,マスタ
auto.master
ファイルを使用して,他のマップの位置,それらのローカル・マウント・ポイント・およびマウント・オプションが決定されます。
ローカルの Automount マップまたは NIS の分散 Automount マップを変更した場合には,次の手順に従って,クライアントで
automount
デーモンを再起動して,変更を適用しなければなりません。
SysMan Menu から [ネットワーク] --> [追加ネットワーク・サービス] --> [NFS (Network File System)] --> [NFS クライアントとしてシステムを設定] を選択して,「NFS クライアントの設定」ダイアログ・ボックスを表示します。
代わりに,次のコマンドをコマンド行から入力することもできます。
# /usr/bin/sysman nfs_client
「automount デーモンを有効にする」チェック・ボックスをオフにします。
[了解] を選択して Automount を使用不可にし,[はい] を選択して NFS デーモンを再起動します。 デーモンが再起動されたという通知が表示されます。 [了解] を選択してこのメッセージを消去し,「NFS クライアントの設定」ダイアログ・ボックスを閉じます。
「NFS クライアントの設定」ダイアログ・ボックスを再び開きます。
「automount デーモンを有効にする」チェック・ボックスをオンにします。
[了解] を選択して Automount を使用可能にし,[はい] を選択して NFS デーモンを再起動します。 デーモンが再起動されたという通知が表示されます。
[了解] を選択してこのメッセージを消去し,「NFS クライアントの設定」ダイアログ・ボックスを閉じます。
automount
コマンドおよびその引数については,
automount
(8)4.6.3.2 AutoFS によるリモート・ファイル・システムのマウント
ローカルの AutoFS マップを使用するには,次の手順に従います。
ルートとしてログインします。
ローカルの
auto.master
マップを作成します。
このマップや他のマップはシステム上の任意のディレクトリに作成できますが,/etc
ディレクトリに作成するのが一般的です。
マップの作成方法については,付録 A を参照してください。
注意
既存の
auto.master
マップに変更を加えた場合は,変更を反映するために,マップをautofsmount
コマンドで処理しなければなりません。 詳細は 4.6.3.3 項を参照してください。
システム用のローカル・マップを作成します。
次のコマンドを入力して,autofsd
デーモンを起動します。
# /usr/sbin/autofsd
autofsmount
コマンドを次のように実行して,ローカル・マスタ・ファイルを処理します。
# /usr/sbin/autofsmount -m -f local_master_file
rcmgr
ユーティリティを使用して,システムをブートするたびに AutoFS が起動されるように構成します。
次の手順で使用している AutoFS パラメータは,大文字と小文字が区別されます。
必ず表記どおりに大文字で入力してください。
次のコマンドを実行して,AutoFS デーモンを使用可能にします。
# rcmgr -c set AUTOFS 1
autofsd
デーモンと
autofsmount
コマンドの引数を次のように指定します。
# rcmgr -c set AUTOFSD_ARGS "arguments" # rcmgr -c set AUTOFSMOUNT_ARGS "-m -f local_master_file"
AUTOFSD_ARGS
パラメータは,autofsd
デーモンの引数を指定する必要がない場合でも,必ず指定してください。
指定する引数がないときには,二重引用符のみ ("") を指定します。
有効な引数については,
autofsd
(8)autofsmount
(8)
autofsmount
コマンドを実行すると,作成したマップを基に,カーネルに介入ポイントが設置されます。
関連するファイル・システムをユーザがアクセスすると,カーネルは
autofsd
デーモンと通信を行い,マップのエントリを基にファイル・システムのマウントおよびアンマウントを行います。
NIS で分散された AutoFS マップを使用する手順は,次のとおりです。
システムを NIS クライアントとしてセットアップします。 NIS クライアントのセットアップ方法については,3.3.3 項を参照してください。
次のコマンドを入力して
autofsd
デーモンを起動します。
# /usr/sbin/autofsd
autofsmount
コマンドを実行して,NIS が配置したマスタ・ファイルを処理します。
# /usr/sbin/autofsmount
autofsmount
コマンドを引数なしで実行すると,NIS が配置した
auto.master
ファイルを自動的に処理します。
rcmgr
ユーティリティを使用して,システムをブートするたびに AutoFS が起動されるように構成します。
次の手順で使用している AutoFS パラメータは,大文字と小文字が区別されます。
必ず表記どおりに大文字で入力してください。
次のコマンドを入力して,AutoFS デーモンを使用可能にします。
# rcmgr -c set AUTOFS 1
autofsd
デーモンと
autofsmount
コマンドの引数を次のように指定します。
# rcmgr -c set AUTOFSD_ARGS "arguments" # rcmgr -c set AUTOFSMOUNT_ARGS ""
AUTOFSD_ARGS
パラメータは,autofsd
デーモンの引数を指定する必要がない場合でも,必ず指定してください。
指定する引数がないときには,二重引用符のみ ("") を指定します。
autofsmount
コマンドを引数なしで実行すると,AutoFS は NIS で分散された
auto.master
ファイルを使用します。
有効な引数については,
autofsd
(8)autofsmount
(8)
ドメイン内のすべての AutoFS マップは,NIS マスタ・サーバが提供します。
autofsmount
コマンドは起動されると,マスタ
auto.master
ファイルを使用して,他のマップの位置,それらのローカル・マウント・ポイント,およびマウント・オプションを調べます。
詳細は
autofsd
(8)autofsmount
(8)sys_attrs_autofs
(5)4.6.3.3 AutoFS 構成の変更
ローカルまたは NIS 配置による AutoFS マップを変更する場合,影響を受けるマップを
autofsmount
コマンドで処理して変更を反映させなければなりません。
AutoFS マウントの追加,変更,削除を行う場合は,次のように操作します。
影響を受けるマップを編集して,適切なエントリの追加,変更,削除を行います。 NIS を使用して AutoFS マップを配置する場合は,更新済みマップの配置に関して 3.4.5 項 を参照してください。
AutoFS マウントを追加しようとしているターゲット・ディレクトリにファイル・システムを手動でマウントしていた場合は,4.6.2 項
または
mount
(8)
既存の AutoFS マップのエントリを変更または削除した場合,クライアント・システム上で,これらの各エントリに対応するマウントまたはシンボリンク・リンクを削除しなければなりません。
A.4 節で説明しているように,ファイル・システムがリモート・システムにある場合,AutoFS はファイル・システムを目的のマウント・ポイントに直接マウントすることでサービスを行えるようになります。 ファイル・システムがローカル・システムにある場合は,シンボリック・リンクを作成することでサービスを行います。 自動マウントしたファイル・システムがリモート・システムからサービスされている場合,次のコマンドを実行してそれを削除できます。
# /usr/sbin/autofsmount -t directory
自動マウントされたファイル・システムがシンボリック・リンクを通してローカル・システムからサービスされている場合,次のように
rm
コマンドを実行することで削除できます。
# rm link
autofsmount
コマンドに適切な引数を付けて実行すると,新しい AutoFS マップ (複数可) を処理できます。
rc.config.common
ファイルの
AUTOFSMOUNT_ARGS
パラメータで引数を定義した場合,4.6.3.2 項
で説明しているように次のコマンドを実行できます。
# /usr/sbin/autofsmount `rcmgr -c get AUTOFSMOUNT_ARGS`
autofsmount
引数の指定についての詳細は,4.6.3.4 項
および
autofsmount
(8)
4.6.3.4 automount および autofsmount の引数の指定
automount
や
autofsd
デーモンの引数は,コマンド行,ローカルの
auto.master
マップ,NIS の分散
auto.master
マップ,またはこれら 3 つを組み合わせて指定することができます。
ただし,これらのデーモンが,その命令を次の順序で読み取り,実行することに注意してください。
最初に読み取られるのは,コマンド行情報,つまり追加のマウント・ポイントまたはマスタ・マップ内のエントリの置換です。 ローカル・マップであるか NIS の分散マップであるかにかかわらず,どのようなマップについてもコマンド行情報が優先されます。
次に読み取られるのは,ローカルの
auto.master
マップ内の命令 (-f
オプションで指定されたもの) です。
ローカルのマスタ・マップ内の情報は,NIS の分散マスタ・マップ内の情報よりも優先されます。
NIS の分散マスタ・マップ内の情報は,最後に読み取られます。
automount
コマンドや
autofsmount
コマンドを引数なしで起動すると,これらのコマンドは
auto.master
という名前の NIS の分散マップを検索します。
マップが見つかると,そのマスタ・マップで,他のマップの位置,それらのローカル・マウント・ポイントおよびマウント・オプションについての情報をチェックします。
マップが見つからず,ローカルの
auto.master
マップが指定されていない場合には,コマンドは終了します。
4.3.2 項
で説明しているように,SysMan Menu の「NFS クライアントの設定」ダイアログ・ボックスから,automount
デーモンへ,コマンド引数を渡すことができます。
automount
コマンドや
autofsmount
コマンドには,次のいずれかの方法で引数を渡すこともできます。
いずれかのコマンドの引数をすべてコマンド行で指定します。 たとえば,次のようになります。
# automount /net -hosts \ /home /etc/auto.home -rw,intr \ /- /etc/auto.direct -ro,intr
rcmgr
ユーティリティを使用して,いずれかのコマンドに渡すすべての引数を
rc.config.common
ファイル内で指定します。
このファイル内で指定した引数は,システムのブート時にコマンドに渡されます。
たとえば,次のようになります。
# rcmgr -c set AUTOMOUNT_ARGS "/net -hosts \ /home /etc/auto.home -rw,intr \ /- /etc/auto.direct -ro,intr"
autofsmount
コマンド用のコマンド引数を定義するには,次のように
AUTOFSMOUNT_ARGS
パラメータを使用します。
# rcmgr -c set AUTOFSMOUNT_ARGS "/net -hosts \ /home /etc/auto.home -rw,intr \ /- /etc/auto.direct -ro,intr"
上記の例の引数を,NIS の分散
auto.master
マップに追加します。
/net -hosts /home /etc/auto.home -rw,intr /- /etc/auto.direct -ro,intr
この NIS
auto.master
マップが分散されている場合には,スーパユーザ・プロンプト (#) に
automount
コマンドまたは
autofsmount
コマンドを入力すれば,上記のコマンド行の場合と同じ結果が得られます。
ローカルの
auto.master
ファイルに引数を記述し,-f
オプションを指定して,automount
コマンドまたは
autofsmount
コマンドにこのファイルを処理させます。
-f
は,ローカルのマスタ・マップを参照してから,NIS で分散しているマスタ・マップを参照するようにコマンドに指示するオプションです。
次に例を示します。
# automount -f /etc/auto.master
さらに,-m
オプションも指定できます。
-m
は,NIS で分散されたマスタ・マップを検出しても無視するように指示するオプションです。
次に例を示します。
# automount -m -f /etc/auto.master
ローカルの
auto.master
ファイルに含まれるマウント・ポイントのほか,コマンド行でもマウント・ポイントを指定します。
たとえば,次のようになります。
# automount -f /etc/auto.master \ /src /etc/auto.src -ro,soft
ローカルの
auto.master
マップのエントリの 1 つを,NULL にします。
たとえば,次のようになります。
# automount -f /etc/auto.master /home -null
autofsmount
コマンドは現在,このオプションをサポートしていません。
ローカルの
auto.master
マップのエントリの 1 つを,独自のものと置き換えます。
たとえば,次のようになります。
# automount -f /etc/auto.master \ /home /mine/auto.home -rw,intr
構成によっては,autofsmount
コマンドにいくつもの引数を指定する必要が生じる場合もあります。
そのような場合には,必要な引数を環境変数
AUTOFSMOUNT_EXPARGS
として定義すれば,autofsmount
コマンドを起動するたびに引数を指定する手間が省けます。
この環境変数は,-e
オプションを指定して
autofsmount
コマンドを起動すると自動的に読み取られます。
次に示すように,AUTOFSMOUNT_EXPARGS
環境変数はシェルの起動スクリプトで自動設定できます。
C シェルの場合は,.cshrc
ファイルに次の行を追加します。
setenv AUTOFSMOUNT_EXPARGS `rcmgr -c get AUTOFSMOUNT_ARGS`
Korn シェルの場合は,.profile
ファイルに次の行を追加します。
AUTOFSMOUNT_EXPARGS=`rcmgr -c get AUTOFSMOUNT_ARGS` export AUTOFSMOUNT_EXPARGS
この方法で環境変数を設定すれば,定義済みのオプションをすべて指定した状態で
autofsmount
コマンドを実行できます。autofsmount
は次のように実行します。
# autofsmount -e
必要であれば,-e オプションに続けて,他のオプションも指定できます。
これらのコマンドとその引数についての詳細は,
automount
(8)autofsmount
(8)4.6.3.5 Automount から AutoFS への移行
Automount は,将来のリリースでは廃止される予定です。 したがって,Automount を使用している環境では,いずれ AutoFS への移行が必要になります。 この項では,移行の実施方法について説明します。 (使用しているシステムがクラスタに属している場合には,TruCluster Server の 『クラスタ管理ガイド』 に記載されているクラスタ環境での Automount から AutoFS への移行に関する情報を参照してください。)
Automount から AutoFS への移行は,2 通りの方法で実施できます。 両者の主な違いは,一方ではオペレーティング・システムのリブートが必要になるのに対し,もう一方ではマルチユーザ・モードのままで移行できる点にあります。 ただし,推奨されるのは前者です。 前者の方が分かりやすく,しかも自動マウント済みのファイル・システムがすべて確実にアンマウントされるからです。 後者は,リブートが許されないハイアベイラビリティ・システム向けです。
移行にあたっては,4.1.2 項
と4.6.3 項,および
autofsd
(8)autofsmount
(8)
なお,Automount と AutoFS のマップは,いくつかの例外を除けば基本的に互換性があります。
例外については,
autofsmount
(8)4.6.3.5.1 推奨される移行手順
リブート可能なシステムで Automount から AutoFS に移行するには,次の手順に従います。
autofsmount
コマンドの起動時に渡す引数を決定します。
有効なオプションと引数については,autofsmount
のリファレンス・ページを参照してください。
通常は,/etc/rc.config.common
ファイル内の
AUTOMOUNT_ARGS
環境変数で
automount
デーモン用に定義している引数の一部を指定します。AUTOMOUNT_ARGS
の値は,次のコマンドで確認できます。
# /usr/sbin/rcmgr -c get AUTOMOUNT_ARGS
次のコマンドを実行すれば,autofsmount
コマンドに渡す引数を環境変数
AUTOFSMOUNT_ARGS
として定義できます。
# /usr/sbin/rcmgr -c set AUTOFSMOUNT_ARGS "arguments"
ブート時に
autofsd
デーモンに渡す引数を決定します。
有効なオプションと引数については,autofsd
のリファレンス・ページを参照してください。
通常は,上記の
AUTOMOUNT_ARGS
環境変数で
automount
デーモン用に指定しているすべての環境変数定義 (-D
オプション) を指定します。
次のコマンドを実行すれば,autofsd
デーモンに渡す引数を環境変数
AUTOFSD_ARGS
として定義できます。
# /usr/sbin/rcmgr -c set AUTOFSD_ARGS "arguments"
automount
デーモン用の環境変数を定義していない場合には,autofsd
に指定する引数がないこともあります。
その場合には,AUTOFSD_ARGS
の引数部分に二重引用符のみ ("") を指定します。
次のコマンドによって
/etc/rc.config.common
ファイル内の Automount を無効化し,AutoFS を有効化します。
# /usr/sbin/rcmgr -c set AUTOMOUNT 0 # /usr/sbin/rcmgr -c set AUTOFS 1
この変更によって,システムのリブート後は AutoFS のみが自動マウント・サービスとして有効になります。
システムをリブートし,新しい AutoFS 構成を有効にします。
リブートするまでは Automount が動作しています。 Automount が動作している間は,AutoFS の起動は行わないでください。
4.6.3.5.2 ハイアベイラビリティ・システム用の移行手順
リブートが許されないシステムで Automount から AutoFS に移行するには,次の手順に従います。
4.6.3.5.1 項 の手順 1 〜 3 を実施します。
自動マウントされたすべてのファイル・システムの使用を停止します。
端末画面のカレント・ディレクトリが自動マウントされたファイル・システム上に位置している場合には,その他のファイル・システム上のディレクトリに移動します。 自動マウントされたファイル・システム上のファイルを開いている場合は該当するファイルをすべて閉じ,それらのファイルをロックしている可能性があるアプリケーションも必要に応じて終了します。
automount
デーモンを停止します。
次のコマンドを実行して,すべての Automount タスクのプロセス ID を取得します。
# ps -ef | grep automount
Automount の各プロセスを次のコマンドで終了させます。
# kill -SIGTERM process-ID
次のコマンドを実行し,自動マウントされていたファイル・システムがアンマウントされたことを確認します。
# /sbin/mount -e | grep temporary_mount_dir
Automount がファイル・システムを一時的にマウントするディレクトリの名前を
temporary_mount_dir
に指定します。
このディレクトリの省略時の名前は
tmp_mnt
です。
このコマンドを実行すると,全マウント・ポイントのリスト内で temporary_mount_dir を含むエントリが検索されます。 そのようなエントリが見つかった場合,対応するファイル・システムは temporary_mount_dir のパス名でアクセスできる状態です。 (ただし,Automount でサービスされていたパス名ではアクセスできません。) これらのマウント・ポイントは,使用されなくなりしだい,次のコマンドで削除できます。
# /sbin/umount -f mount-point
AutoFS は一時マウント・ディレクトリを使用しないため,これらのファイル・システムのマウント状態によって影響されることはありません。
/etc/rc.config.common
ファイル内で指定していた引数を使って AutoFS サービスを起動します。
次のコマンドで
autofsd
デーモンを起動します。
# /usr/sbin/autofsd arguments
autofsd
用に定義している引数は,次のコマンドで確認できます。
# /usr/sbin/rcmgr -c get AUTOFSD_ARGS
次のように
autofsmount
コマンドを実行します。
# /usr/sbin/autofsmount arguments
autofsmount
用に定義している引数は,次のコマンドで確認できます。
# /usr/sbin/rcmgr -c get AUTOFSMOUNT_ARGS
AutoFS に渡す引数を
/etc/rc.config.common
ファイル内で適切に設定している場合には,AutoFS をいったん起動すれば,それ以降は上記の方法で起動する必要はありません。
オペレーティング・システムをブートするたびに,AutoFS は自動的に起動されます。