Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Linuxシステムがファイル共有にNFSを使用

Linuxシステムがファイル共有にNFSを使用

  
Technologeeko                   Linuxでファイルを共有するためのツールはたくさんあります。しかし、NFS(Network File System)は、これまでのところ間違いなく最も成功しているものです。ネットワークファイルシステムを使用すると、ファイルサーバー上の共有ディレクトリをネットワーク経由でローカルオペレーティングシステムにマウントできます。この場合、ユーザはあたかもローカルパーティションであるかのように、ローカルオペレーティングシステム上のリモートサーバの共有ディレクトリを操作できます。それでは、結局NFSの使用はどうなるのでしょうか?これまでのところ、著者はNFSネットワークファイルシステムを通して少なくとも2つの機能を持っています、一つは企業向けのファイルサーバーを構築することです。
NFSネットワークファイルシステムを使用すると、エンタープライズユーザー向けのファイル共有プラットフォームを簡単に構築できます。 LinuxサーバーをデプロイしてNFSファイルシステムを構成するだけです。次に、部署またはその他の規則に従って、サーバー上にいくつかの共有フォルダを設定し、関連する権限を設定します。たとえば、部署ごとにユーザーと共有フォルダを設定し、各部署にそれぞれの部署のフォルダの読み取りと書き込みを許可することができます。他の部署の場合、フォルダには読み取り権限しかありません。クライアントでは、マウントされたパーティションと同じように、サーバーの共有フォルダをローカルホストにマウントできます。企業の従業員がファイルサーバー上の共有ファイルを操作する必要がある場合は、ローカルパーティションを操作するのと同じくらい簡単です。クライアントコンピュータが起動するたびにファイルサーバに共有ディレクトリを自動的にマウントするように起動ファイルを設定することもできます。さらに、Microsoftのオペレーティングシステムは現在このNFSネットワークファイルシステムをサポートしているので、Microsoftのオペレーティングシステムは「ショートカット」を作成することによってNFS共有ファイルでもハングすることができます。したがって、ファイル共有を実現するためのNFSネットワークファイルシステムの使用は、クライアントによって制限されません。さらに、システム管理者はすべてのLinuxオペレーティングシステムにホームディレクトリを設定する必要はありません。ホームディレクトリは、NFSサーバー上に配置して、ネットワーク上のあらゆる場所で使用できます。
NFSネットワークファイルシステムは、Linuxシステム開発用のクロス開発プラットフォームの実装にも使用できます。 Linuxオペレーティングシステムを埋め込む開発プロセスでは、プログラム開発者はすべてのソフトウェア開発作業をLinux開発サーバー上で実行する必要があります。開発が完了したら、クロスコンパイルしてから、FTPを使用して実行可能ファイルを組み込みシステムにダウンロードします。ただし、この方法は非効率的であり、オンラインでデバッグすることはできません。このため、このLinuxシステム開発方法は徐々に段階的に廃止されています。プログラム開発者は、NFSネットワークファイルシステムを作成することによって、デバッグ対象の組み込みターゲットシステムとLinuxサーバー上の特定のパーティションを共有できるようになりました。この時点で、ユーザは、組み込みターゲットシステム上のLinuxサーバの共有ディレクトリを直接操作することができ、またプログラムをオンラインでデバッグおよび修正することができ、これはソフトウェアの開発を非常に容易にする。したがって、NFSネットワークファイルシステムは、組み込みLinuxオペレーティングシステム開発の重要な部分になりました。 NFSファイルシステムの助けを借りて、Linuxオペレーティングシステムの開発の効率は大幅に向上させることができます。
しかし、このNFSネットワークファイルシステムを使用するには、Linuxシステム管理者はまだしばらく時間を費やす必要があります。具体的には、NFSネットワークファイルシステムを展開するときは、次の点に注意する必要があります。
まず、NFSネットワークファイルシステムによるセキュリティ上のリスクに注意してください。
上記の説明から、NFSネットワークファイルシステムの本質は、サーバー上のいくつかのディレクトリを共有してからクライアントにマウントすることであることがわかります。つまり、共有ディレクトリに基づいて実装されています。ただし、ディレクトリを共有すると、サーバーにとって比較的大きなセキュリティ上のリスクが生じることがよく知られています。これを行うには、セキュリティ上の理由から、管理者がサーバー上のディレクトリをNFSテクノロジを介して共有する必要がある場合、共有ファイルのアクセス権を制限するようにサーバー上の/etc /exportsファイルを構成する必要があります。ルートディレクトリへの書き込みアクセスを許可しない場合、ワイルドカードを使用しない場合、共有ディレクトリを削除することはできません。
上の図は、エクスポートファイルの設定例です。上記の例では、192.168.0.5のクライアントだけがこの共有フォルダにアクセスでき、共有フォルダに対する読み取り専用のアクセス許可しか持っていません。さらに、パラメータroot_squashは、ルートディレクトリへの書き込みが許可されていないことを示します。このドキュメントの特定の設定については、後半で詳しく説明します。作者がこの許可問題をここに出した理由は、誰もがNFSネットワーク共有ファイルシステムのセキュリティに注意を払うことができることを明確にするためです。
次に、/etc /exportsファイルを設定します。
主にシステム内の/etc /exportsファイルを設定することによって、Linux上にネットワーク共有ファイルシステムを実装します。 Linuxサーバが再起動されると、オペレーティングシステムはこのファイルを自動的に読み込み、オペレーティングシステムのカーネルにファイルシステムと関連するアクセス制御を出力するように指示します。上の図からわかるように、この設定ファイルは主に共有ディレクトリ、訪問者、アクセス権、その他の部分を設定します。
コンテンツの最初の部分は、共有するファイルディレクトリを定義することです。シンボリックリンクではなく、絶対パスを使用する必要があります。たとえば、Linuxシステムにフォルダがある場合、実際の保存パスは/dir /shareです。しかし、管理上の便宜のために、ユーザーは自分のデスクトップにショートカット(/home /user /Desktop /share)を作成します。このショートカットは、Linuxオペレーティングシステムではシンボリックリンクと呼ばれています。これらは実際には同等ですが、ショートカットを使用してこの共有フォルダにアクセスすることもできます。これらはすべて同じフォルダを指しています。ただし、ネットワークファイルシステムを使用してディレクトリを共有する場合は、絶対パスを使用する必要があります。それ以外の場合、システムは共有ディレクトリを正しく見つけることができません。
2番目の部分は、ホストへのアクセス制限です。ここでは、システム管理者がLAN上のすべてのホストに共有ディレクトリへのアクセスを許可したり、ネットワークセグメントまたは特定のIPへのアクセスを設定したりできます。設定の特定の必要性はシステム管理者が企業の実際の状況に従って判断することを必要とします。 NFSネットワークファイルシステムが主にファイルサーバーの実装に使用されている場合、一般に、企業のすべての従業員がNFSサーバーにアクセスする必要があり、この場合は192.168.1.0のようにIPネットワークの形式で定義できます。 NFSネットワークファイルシステムがLinuxプラットフォームの開発とコンパイルの実装に使用されている場合は、特定のIPアドレスのみにアクセスできます。この時点で、特定のIPアドレスを指定することも、ワイルドカードを使用することもできます。
3番目の部分は特定の権限の問題です。権威の重要性は最初の点で説明されてきた、そして著者はここではあまり説明していない。ここでは、共有ディレクトリのパーミッション設定の具体的な問題について説明します。作成者は、共有ディレクトリのアクセス権を設定するときには、それを個別に扱う必要があると考えています。まず、通常の共有ディレクトリの権限を考慮する必要があります。共有ディレクトリがユーザに対して読み取り専用の場合は、ファイルを共有ディレクトリに書き込むこともできます。パラメータrwは、ユーザーが共有ディレクトリへの読み取りおよび書き込み権限を持っていることを示し、roは、ユーザーが共有ファイルへの読み取り専用アクセス権を持っていることを示します。私はNFSを使って企業向けのファイルサーバーを実装しました。この権限を設定すると、作成者は他の部署の従業員が部署ではない共有ディレクトリに読み取り専用形式でアクセスできるようになり、この部署のユーザーは読み書き形式でアクセスできるようになります。
次に、特別アカウントのルートに注意を払う必要があります。デフォルトでは、rootがアクセス権を管理しています。このマシンでは、インスタントファイルの所有者がrootアカウントを制御する権限を持っていますが、rootアカウントがこのファイルを完全に制御できます。このため、システム管理者は、NFSサーバーの共有ディレクトリにアクセスするユーザーがrootの場合(たとえば、no_root_squashパラメーターを追加した場合)、その共有ディレクトリを使用してNFSホストにログインするユーザーはrootである必要があります。そうである場合、その許可は匿名ユーザーに変換されます。 root_squashを使用する場合、共有ディレクトリを使用してNFSサーバーにログインしたユーザーがrootであれば、そのユーザーはこの共有ディレクトリに対するroot特権を持っていることになります。この共有ディレクトリに厳密な権限制限がある場合でも(すべてのユーザーがこの共有ディレクトリに対して読み取り専用になっている場合など)、訪問者は依然として共有ディレクトリを完全に制御できます。通常、クライアントのrootアカウントの権限を制限するには、no_root_squashパラメータを使用することをお勧めします。
3番目は共有ディレクトリの作業モードを設定できます。たとえば、パラメータsyncは、ユーザがクライアント上の共有ディレクトリにファイルを作成したときに、ファイルがメモリとハードディスクに同期的に書き込まれることを示します。パラメータasyncは、ファイルが一時的にメモリに保存され、適切なときにハードディスクに書き込まれることを意味します。どちらの方法を使用するかは、主にパフォーマンスとセキュリティに基づいています。 NFSサーバーの突然の電源切断やその他の予期しないファイル再起動の理由が失われない場合は、メモリへの同期書き込みとハードディスクのセキュリティが向上しますが、メモリとハードディスクの効率が異なるため、パフォーマンスはわずかに遅くなります。ちょっと。ハードディスクに直接書き込むのではなくメモリにデータを保存すると、NFSサーバのパフォーマンスを向上させることができますが、NFSサーバが突然シャットダウンまたは再起動されると、データが失われます。どの方法を使用するかは、システム管理者が長所と短所を比較検討し、適切な処理方法を選択することを特に要求します。
Copyright © Windowsの知識 All Rights Reserved