ネットワーク上のコンピューター間でファイルを共有したい理由はたくさんあります。Debianは、ワークステーション、専用サーバー、さらにはRaspberry Piのいずれから実行していても、完璧なファイルサーバーを作成します。 NFS機能はカーネルに由来するため、すべてのセットアップが非常に簡単で、十分に統合されています。
このチュートリアルでは、次のことを学びます。
- NFSパッケージをインストールする方法
- 共有を構成する方法
- 共有に接続する方法
Debian10でのNFS共有。
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
Debian10バスター | |
NFSサーバー | |
rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
NFSパッケージをインストールする
Debian10にNFSをインストールします。NFSはDebianにインストールするのがとても簡単です。カーネルに接続されており、一般的なパッケージです。メインのリポジトリから必要なものをすべてインストールできます。
$ sudo apt install nfs-kernel-server
共有を構成する
共有するディレクトリを作成するか、既存のディレクトリを選択することから始めます。選択するディレクトリにルート専用の権限がないことを確認してください。
Debian10でのNFSエクスポート。
次に、/etc/exports
を開きます お気に入りのテキストエディタで。これは、共有を設定するために使用するファイルです。ここでは、共有するディレクトリとそれらにアクセスできるユーザーを構成できます。共有に特定の権限を設定して、アクセスをさらに制限することもできます。
ファイルでは、各共有に独自の行があります。その行は、サーバーマシン上の共有の場所から始まります。そのほかに、受け入れられたクライアントのホスト名(サーバーのhostsファイルで使用可能な場合)、またはIPまたはIPの範囲を一覧表示できます。 IPアドレスのすぐ後ろに、共有のルールをかっこで囲みます。全体として、次のようになります。
/media/nfs 192.168.1.0/24(rw,sync,no_subtree_check)
それぞれに独自の行がある場合は、必要な数の共有を含めることができます。各行に複数のホスト名またはIPを含めて、それらに異なる権限を割り当てることもできます。例:
/media/nfs 192.168.1.112(rw,sync,no_subtree_check) 192.168.1.121(ro,sync,no_subtree_check)
その場合、これらの各マシンは共有を表示して読み取ることができますが、192.168.1.112
にあるコンピューターのみが表示されます。 それに書き込むことができます。
各ゲストの共有をサーバーがどのように処理するかを構成するために選択できるオプションは他にもたくさんあります。利用可能なものの完全な内訳は次のとおりです。
- ro :ディレクトリを読み取り専用としてのみマウントできることを指定します
- rw :ディレクトリに対する読み取りと書き込みの両方のアクセス許可を付与します
- no_root_squash :は非常に危険なオプションであり、リモートの「root」ユーザーにホストマシンの「root」ユーザーと同じ権限を許可します
- subtree_check :ファイルシステム全体ではなくディレクトリがエクスポートされる場合、ホストはホストファイルシステム上のファイルとディレクトリの場所を確認する必要があることを指定します
- no_subtree_check :ホストがホストファイルシステムでアクセスされているファイルの場所をチェックしてはならないことを指定します
- 同期 :これにより、ホストが共有ディレクトリにアップロードされた変更を同期して保持することが保証されます
- 非同期 :速度の向上を優先して同期チェックを無視します
すべてを希望どおりに設定したら、ファイルを保存して終了します。次に、サーバーを再起動して、新しいexports
をロードします 構成。
$ sudo systemctl restart nfs-kernel-server
共有に接続する
これで、exports
で構成したクライアントマシンから共有にアクセスできます。 。クライアントがUbuntuまたはDebianベースであると仮定すると、接続に必要なパッケージをインストールできます:
$ sudo apt install nfs-commonDebian10にマウントされたNFS共有。
これで、NFS共有をマウントできるようになります。したがって、試してみるには、マウント先のディレクトリを選択して、mount
を実行します。 ネットワーク共有をマウントするためのroot権限としてのコマンド。
$ sudo mount -t nfs4 192.168.1.110:/media/nfs /media/share
マウントが成功すると、マウントしたディレクトリにある共有ファイルにアクセスできるようになります。
より永続的な解決策として、共有をクライアントの/etc/fstab
に追加できます。 ファイル。全体的な構文は、共有をマウントするために使用したコマンドとよく似ています。ネットワーク上の共有の場所から始めます。それに続いて、共有をマウントする場所を指定します。ここでのファイルシステムタイプはnfs4です。オプションはあなた次第ですが、デフォルトを使用してユーザーアクセスを許可することは、機密性の低い共有ではかなり一般的です。最終結果は、以下の例のようになります。
192.168.1.110:/media/nfs /media/share nfs4 defaults,user,exec 0 0
共有がクライアントで常に利用可能かどうかわからない場合は、noauto
を追加してください システムが自動的にマウントしようとしないようにするためのオプションのリストに移動します。
192.168.1.110:/media/nfs /media/share nfs4 defaults,user,exec,noauto 0 0
/etc/fstab
を使用してクライアントにマウントしてみてください 。
$ sudo mount -a
共有は、指定した場所に正確にマウントする必要があります。
結論
これでDebianサーバーはファイルの提供を開始する準備ができており、残りのクライアントマシンのセットアップに問題はありません。 NFSはセキュリティの面でそれほど重要ではないため、より機密性の高いものを共有することを選択した場合は、ファイルへのアクセスを制限するために他の方法が必要になることに注意してください。