如何使用 AuFS 创建沙箱主目录

der*_*ann 4 fstab directory home-directory

我们有两台 Linux 计算机在工作,它们已被新硬件替换,因此我们需要在其上安装 Ubuntu 操作系统。但是有人在 4 年前设置了它们并且没有记录如何设置,所以我的问题是:

  • 如何使用 AuFS 设置沙盒主目录?

在当前的 fstab 文件中有以下条目:

none /home/student aufs br:/home/.student_rw:/home/student 0 0
Run Code Online (Sandbox Code Playgroud)

但我真的不明白这是什么意思。有人可以详细说明吗?目标是一个干净的主目录,在每次重新启动后恢复,但是如果您首先以超级用户身份卸载它,您必须能够更改某些内容。

kyo*_*ake 5

AuFS 最初是作为 UnionFS 联合文件系统的一个实现。

联合文件系统采用现有文件系统并将其透明地覆盖在较新的文件系统上。

安装 aufs:

打开终端,

Ctrl+ Alt+T

运行:

sudo -i
apt-get update
apt-get install aufs-tools
Run Code Online (Sandbox Code Playgroud)

如何挂载同一个文件系统的两个目录:

打开终端,

Ctrl+ Alt+T

运行:

sudo -i
mkdir /tmp/rw
mkdir /tmp/aus
mount -t aufs -o br=/tmp/rw:/home/user none /tmp/aus/
Run Code Online (Sandbox Code Playgroud)

前两个命令在 /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
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过 /tmp/aufs 查看您的主目录的整个树。

如果修改/tmp/aufs 下的文件,则不会影响主目录下的文件,而是会在/tmp/rw 下新建同名文件。

并且您对文件的所有修改都将应用于 /tmp/rw 下的文件。

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