Linux でファイルを読み取り可能、書き込み可能、​​読み取り専用にする方法は?

WBOY
リリース: 2024-02-14 17:00:03
転載
739 人が閲覧しました

Linux の運用と保守のプロセスでは、事前の計画なしにアプリケーションの保存ディレクトリがいっぱいになり、ディレクトリやディスクを拡張できないことがよくあります。このときの一般的な解決策は、ソフト リンクは、ln を介して、最初に保存されていたディレクトリを別の大きなディスク内のディレクトリにソフト リンクして、目的を達成します。

ソフトリンクのデメリットは、ソフトリンクを何重にも重ねるとスタン状態になってしまい誤動作を起こしやすいことです。今日はその方法を紹介します

mount –bind

マウントコマンドの運用保守仲間ならよく知っているはずなので、あまり紹介しません

まず man の導入部分を見てみましょう

Linux でファイルを読み取り可能、書き込み可能、​​読み取り専用にする方法は?

mount –bind を使用してファイル ディレクトリ構造を再マウントし、2 つのディレクトリを接続できます。前のディレクトリを後のディレクトリにマウントします。後のディレクトリへのすべてのアクセスは、実際には前のディレクトリへのアクセスです。ディレクトリへのアクセス

#########例#########

例を見てみましょう。2 つの異なるディレクトリを作成し、2 つの異なるディレクトリに異なるファイルを作成します。 ファイルの i ノードを表示します

mount –bind を使用して test1 を test2 にマウントし、inode とディレクトリの内容を再確認します

Linux でファイルを読み取り可能、書き込み可能、​​読み取り専用にする方法は?

inode 番号とファイルが両方とも test1

であることがわかります。 Linux でファイルを読み取り可能、書き込み可能、​​読み取り専用にする方法は?次に、test2 ディレクトリ内のファイルにアクセスして変更します。実際、変更されるのは test1 ディレクトリです。このテストでは、test2 ディレクトリにファイルを作成します。

Linux でファイルを読み取り可能、書き込み可能、​​読み取り専用にする方法は?マウントに連絡した後、次の 2 つのディレクトリの内容を確認します

test1 ディレクトリは変更された状態のままであり、test2 ディレクトリ ファイルはまだ存在し、変更されていないことがわかります。

#########原理######### Linux でファイルを読み取り可能、書き込み可能、​​読み取り専用にする方法は? mount –bind test1 test2 を例に挙げると、mount –bind コマンドが実行されると、Linux はマウントされたディレクトリのディレクトリ エントリを記録します (

はディレクトリ ファイルのブロックでもあり、ディレクトリ ファイルの情報を記録します)。下位ディレクトリ

) シールド、つまり test2 の下位パスが非表示になります (Linux でファイルを読み取り可能、書き込み可能、​​読み取り専用にする方法は?これは非表示であるだけで削除ではないことに注意してください。データは変更されておらず、アクセスできないだけです

) 。同時に、カーネルはマウント ディレクトリ (test1) のディレクトリ エントリをメモリ内の s_root オブジェクトに記録します。マウント コマンドが実行されると、VFS は vfsmount オブジェクトを作成します。このオブジェクトには、システム全体のすべてのマウント情報が含まれます。ファイル システム, その中にはこのマウントの情報も含まれます. このオブジェクトは HASH 値対応テーブルです (HASH 値はパス文字列を計算することによって計算されます). このテーブルには 2 つのディレクトリ /test1 から /test1 までの HASH 値の対応関係が含まれています/test2

コマンドの実行後、/test2 の下のファイルにアクセスすると、システムは /test2 のディレクトリ エントリがブロックされていることを通知し、自動的にメモリに移動して VFS を見つけ、/test2 と / の対応関係を学習します。 test1 から vfsmount. を介して /test1 の i ノードを読み取るため、/test2 の下で読み取られるすべてのファイルは /test1 ディレクトリ内のファイルになります。 #########知らせ######### 両ディレクトリの対応関係はメモリ上に存在しますが、再起動するとマウント関係がなくなるため、/etc/fstabにマウント関係を書き込む必要があります

高度な使用法

  • 一時設定ファイル読み込みテスト

    一部のアプリケーション シナリオでは、テストのために構成ファイルを変更する必要がありますが、実行中のビジネスに影響を与えることはできません。確信が持てず、元の構成ファイルを直接変更したくない場合は、/tmp で変更できます。およびその他のディレクトリ。テスト構成ファイルを書き込み、それを mount –bind を介して構成ファイル読み取りディレクトリにマウントし、プログラムを実行して一時構成ファイルを読み取ります。テストが完了したら、アンマウントするだけで済みます。元の構成に影響を与える

  • 読み取り専用マウント

    一部のシナリオでは、たとえば、開発者に一部の構成を表示する権限を与える必要があるが、構成の変更は許可しない場合は、mount –bind,ro を使用して読み取り専用ディレクトリをマウントできます。書き込み可能でマウント可能です ロードされたディレクトリは読み取り専用です。開発者に読み取り専用のディレクトリ権限を与えるだけで済みます

以上がLinux でファイルを読み取り可能、書き込み可能、​​読み取り専用にする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lxlinux.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!