AuFS でサンドボックス ホーム ディレクトリを作成する方法

AuFS でサンドボックス ホーム ディレクトリを作成する方法

職場に Linux コンピューターが 2 台ありますが、新しいハードウェアに交換されたため、Ubuntu OS をインストールする必要があります。しかし、4 年前に誰かがセットアップしたのですが、その方法を文書化していませんでした。そこで、私の質問は次のとおりです。

  • AuFS を使用してサンドボックス化されたホーム ディレクトリを設定するにはどうすればよいですか?

現在の fstab ファイルには次のエントリがあります。

none /home/student aufs br:/home/.student_rw:/home/student 0 0

しかし、これが何を意味するのかよく分かりません。誰か詳しく説明してもらえますか? 目的は、再起動のたびに復元されるクリーンなホーム ディレクトリですが、最初にスーパーユーザーとしてアンマウントすると、何かを変更できる必要があります。

答え1

AuFS は、UnionFS ユニオン ファイル システムの実装として始まりました。

ユニオン ファイルシステムは、既存のファイルシステムを取得し、それを新しいファイルシステムに透過的にオーバーレイします。

aufs をインストールするには:

ターミナルを開き、

Ctrl+ Alt+を押すT

それを実行します:

sudo -i
apt-get update
apt-get install aufs-tools

同じファイルシステムの 2 つのディレクトリをマウントする方法:

ターミナルを開き、

Ctrl+ Alt+を押すT

それを実行します:

sudo -i
mkdir /tmp/rw
mkdir /tmp/aus
mount -t aufs -o br=/tmp/rw:/home/user none /tmp/aus/

最初の 2 つのコマンドは、/tmp に 2 つの新しいディレクトリを作成しました。

mount.aufs はファイルシステムをマウントするコマンドです。

mount コマンドは、/tmp/aus の下に /tmp/rw と /home/user を結合マウントすることを指定します。

ディレクトリ /tmp/aus には、/tmp/rw と /home/user の両方の内容が含まれます。

マウント コマンドで使用されるオプションは次のとおりです。

-o – specifies options to be passed to the filesystem
br – specifies a branch, where each branch is separated by colon (:).
none – specifies we don’t have any device associated with it.

mkdir /tmp/rw /tmp/aufs
mount -t aufs -o br=/tmp/rw:${HOME} none /tmp/aufs
or
mount -t aufs -o br=/tmp/rw=rw:${HOME}=ro none /tmp/aufs

すると、/tmp/aufs を通じてホーム ディレクトリのツリー全体を見ることができます。

/tmp/aufs の下のファイルを変更すると、ホーム ディレクトリ上のファイルは影響を受けませんが、代わりに同じ名前のファイルが /tmp/rw の下に新しく作成されます。

ファイルに対するすべての変更は、/tmp/rw の下のファイルに適用されます。

ソース:http://aufs.sourceforge.net/

関連情報