倉金家ホームページ趣味の部屋/サーバー構築メモ4.NFS2007年2月20日ネットワークファイルシステムNFSを使って他のコンピュータとのファイル共有を設定します。バックアップ、設定やデータの移動、確認などに他のコンピュータとのファイル共有が不可欠です。そのためにネットワークファイル共有システム(NFS)を使うこととし、接続許可マシンの設定、ファイルアクセスの設定、起動設定などを行います。接続許可マシンの設定マシンのIPアドレスで接続の許可、不許可を設定します。設定ファイル/etc/hosts.allow/etc/hosts.denyに接続許可マシンを設定しますが基本的にすべてのマシンを不許可とし、許可したIPアドレスのマシンのみが繋がるように設定します。記述されたマシンだけが接続許可されます。許可するマシンを記述します。私の家のLANのアドレスは192.168.を頭に使っています。192.168.0.0/255.255.0.0現在動いている他のマシンにはすでに同様の設定がしてあります。接続を許可されたマシンに対して、さらにどのディレクトリを公開するかとそのアクセスモードの設定を行います。192.168.0.0/255.255.0.0(ro)とします。読み出しのみ許可する設定です。192.168.0.0/255.255.0.0(rw,sync)とします。rwは読み書き可能、syncは実際にファイルを書き込んでから書込み完了を通知する設定です。(少し遅くなりますがsyncを指定しておいた方が安全そうです。)その他設定ファイルのある/etcやファイルの受け渡しをするためのディレクトリなどを作成して設定しておきます。他のコンピュータのファイルを読み書きできるようにするためには、そのディレクトリを表示する場所(マウントポイント)を作成しなくてはなりません。/(ルートディレクトリ)の中のmntというディレクトリの中にそれを作ります。/mntをファイルブラウザで開き、「新規作成」でフォルダ(ディレクトリ)を作ります。名前はわかれば何でもいいのですが、私はディレクトリ名.マシン名を使います。こちらのマシン名をjiji、相手のマシン名をbabaとすると/mnt/etc.baba/mnt/home.baba/mnt/Data.babaという具合です。相手のマシンにも同様に/mnt/etc.jiji/mnt/home.jiji/mnt/Data.jijiなどが設置してあります。jijibaba合体の時が近づいてまいりました。マウント情報の設定/etc/fstabに以下のようなマウント情報を追加します。0/etc/fstabは起動時に読み込まれますが、このときにマウントされるようにすると(noautoのところをautoにすると)マウントされるマシンが稼動していない場合はすんなり起動しなくなります。マウントしようとして長時間待ち続け、タイムアウトするまで起動しません。マウント情報だけ覚えこませておいて、必要なときにマウントするのが正解です。/etc/fstabをsaveするとマウント情報が変更されたがどうするかとマウントポイントごとに聞いてきますので、とりあえず何もしないを選択します。(条件が整っていればマウントして表示してもかまわないでしょう。/mnt/home.babaと打ち込みますと、babaホストの/homeディレクトリが/mnt/home.babaにマウントされます。他のマウントポイントも同様にテストします。ここまでは問題なくすんなりいきました。以上は相手のファイルシステムをマウントするための設定で、こちらのファイルシステムを相手に公開するためにはもう少し設定が必要になります。NFSサービスを使う設定をします。メニューのシステム−サービスの管理を開き、「フォルダの共有サービス(NFS)」にチェックを入れます。ここで繋いでみると...繋がりません。ファイヤウォールが邪魔をしているようです。この意味はLAN内からのすべてのサービス要求を通すということですが、LANは我が家内だけで安全だし、最終的には他の各種のサービスやサーバーの設定の際もめんどうがないのでこうしておきます。このマニュアルでのカスタマイズはGUIでファイアウォール設定をすると消えてしまいます(マニュアルでのカスタマイズは推奨しないと書いてある)。無線LANを使っている場合は無線LANのセキュリティーを充分確保しておく必要があります。(あとで調べたところNFSは動的にポートを割り当てるので、ファイアウォールを使いたければポートの固定というめんどうなことをしなければならないということらしい。)コンピュータを再起動して相手のコンピュータでこちらのファイルシステムがマウントできることを確認します。(個々のサービスを再起動または起動してもよいが、私はいつも思い切りコンピュータを再起動します。)これで相手のコンピュータからもこちらのファイルが見れて無事繋がりました。マウント用スクリプトの作成いちいちマウントするのにターミナルから打ち込むのも面倒なので、マウント用のスクリプトを書いて実行可能権限をつけてデスクトップに置いておきます。/mnt/home.baba....といった具合です。併せてアンマウント用のスクリプトも作っておきました。/mnt/home.baba....これでクリック一発、マウント/アンマウントが可能です。http://www.linux.or.jp/JF/JFdocs/NFS-HOWTO/server.html(追記)NFS4でユーザとグループがうまく取得できない問題。なってしまう現象に遭遇しました。