将 ext4 文件系统标记为只读

Cra*_*een 4 ext4 readonly

我想创建一个 ext4 文件系统,并向其中添加一些文件,然后“冻结”它,使其从此变为只读。

我知道可以使用romount 选项。但是有没有办法在文件系统本身中表明它是只读的?

我看到tune2fs有一个选项-o来设置默认安装选项,但-o ro不是一个有效的选项。

我也看到tune2fs有一个选项-E mount_opts。我尝试-E mount_opts=ro了环回文件系统(Ubuntu 14.10):

dd if=/dev/zero of=ext4test bs=1M count=32
mkfs.ext4 -L test ext4test
tune2fs -E mount_opts=ro ext4test
mkdir ext4testmnt
sudo mount ext4test ext4testmnt
Run Code Online (Sandbox Code Playgroud)

但是,文件系统仍以读写方式挂载。

Ste*_*itt 5

最近的内核(4.0 及更高版本)支持此功能,并且自 2015 年 2 月下旬起e2fsprogs(自 1.42.13 版起可用)。

使用适当的内核和工具,您可以ext4使用tune2fs以下命令将文件系统标记为只读:

tune2fs -O read-only ext4test
Run Code Online (Sandbox Code Playgroud)

并像往常一样清除标志

tune2fs -O ^read-only ext4test
Run Code Online (Sandbox Code Playgroud)