この「chroot」/ tmpディレクトリの作成を説明できますか?

この「chroot」/ tmpディレクトリの作成を説明できますか?

以下のリンク記事では、「chroot」/ tmpディレクトリを作成する方法について説明します。私は彼らが何をしているのか少し混乱しています。次のコマンドの機能を説明できる人はいますか?

Noexecおよび/tmpのトラブルシューティング

1. # mkdir -p /root/chroot /root/tmp 
2. # mount --bind / /root/chroot 
3. # mount --bind /root/tmp /root/chroot/tmp
4. # chroot /root/chroot

最初のステップ、なぜ作ったのですか?/root/tmpまさか/root/chroot/tmp

最初のインストールコマンドは2番目のインストールコマンドに影響しますか? 2番目のステップでは、新しいディレクトリをバインドします。/root/chrootルートディレクトリに。これは第三段階で/root/tmp実際に以下を指す/root/chroot/root/tmp?どこ/root/chroot/tmpから?これが私を混乱させる部分です。

これの論理は何ですか?

ベストアンサー1

mkdir -p /root/chroot /root/tmp

chroot環境用のディレクトリを作成します。/root/chrootchroot 環境のルートディレクトリになります。 chroot 環境/root/tmpとして機能するディレクトリです。/tmp

mount --bind / /root/chroot

/これにより、ディレクトリが表示されます/root/chroot。ディレクトリを/ミラーディレクトリとして扱います/root/chroot(実際にはミラーではありませんが、そのディレクトリへのポインタです/)。

mount --bind /root/tmp /root/chroot/tmp

これにより、chroot環境のディレクトリを介してカスタム/root/tmpディレクトリにアクセスできます。/tmpこれにより、chroot環境のディレクトリがシステム/tmp/tmp/tmp/tmp

chroot /root/chroot

ここでchroot環境を入力してください。

今あなたの質問:

  1. 最初のインストールコマンドは2番目のインストールコマンドに影響しますか?

    はい。ディレクトリ/root/chrootをバインドする前に、chroot環境のルートディレクトリ()をバインドマウントする必要があります/tmp。にバインドされるまでは存在しません/root/chroot/tmp//root/chroot

  2. 2番目のステップでは、新しいディレクトリを/root/chrootルートディレクトリにバインドします。これは、ステップ3が/root/tmp実際にそれを指すことを意味しますか/root/chroot/root/tmp

    はい。のすべてのコンテンツ/を経由してアクセスできます/root/chroot

  3. それはどこから出たの/root/chroot/tmp

    /root/chroot/tmpステップ2でバインドした/後は存在します。/root/chroot

おすすめ記事