如何使用 AuFS 建立沙箱主目錄

如何使用 AuFS 建立沙箱主目錄

我們工作中有兩台Linux計算機,更換了新硬件,因此我們需要在它們上安裝Ubuntu作業系統。然而,有人在 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

如何掛載同一檔案系統的兩個目錄:

打開終端,

Ctrl+ Alt+T

運行:

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

前兩個指令在 /tmp 中建立了兩個新目錄。

mount.aufs 是掛載檔案系統的指令。

mount 指令指定將 /tmp/rw 和 /home/user 聯合掛載到 /tmp/aus 下。

目錄 /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看到你的home目錄的整個樹。

如果修改 /tmp/aufs 下的文件,主目錄中的文件不會受到影響,而是會在 /tmp/rw 下新建立同名文件。

並且您對檔案的所有修改都將應用於 /tmp/rw 下的檔案。

來源:http://aufs.sourceforge.net/

相關內容