web-dev-qa-db-ja.com

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

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

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

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

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

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

4
der_eismann

AuFSは、UnionFS Union File Systemの実装として始まりました。

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

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の両方のコンテンツが含まれます。

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

-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/

5
kyodake