職場に 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 の下のファイルに適用されます。