Oto*_*han 11 encryption ext4 15.04
我可以ext4
在 Ubuntu 15.04 上使用内核 4.1创建一个新的加密分区吗?
Dan*_*ser 11
首先免责声明:我没有在 Ubuntu 上做过这件事,而是在一台安装了 Debian“Stretch”的机器上,使用我启用的自定义 Linux 4.2.3 内核EXT4_FS_ENCRYPTION
。
kmeaw给出的说明对我来说并不完全像发布的那样。遗漏了一些内容(命令行参数和步骤)。
e2fsprogs
如上图生成您的随机盐。我使用以下内容将其存储在“安全的地方”:
head -c 16 /dev/urandom | xxd -p >~/tmp-salt.txt
echo 0x`cat ~/tmp-salt.txt` >~/.cryptoSalt
Run Code Online (Sandbox Code Playgroud)为了在文件系统上使用 ext4 加密,必须在超级块中设置“加密”标志。这不是创建 ext4 文件系统时的默认设置。使用 e2fsprogs 1.43 或更高版本中的“tune2fs”实用程序,设置“encrypt”选项:
sudo tune2fs -O encrypt /dev/sda4
Run Code Online (Sandbox Code Playgroud)挂载或重新挂载文件系统,以便内核知道更改(可能是自动的,但我只在单独的分区上完成了此操作,所以我不确定。)
在启用加密的挂载文件系统上创建一个目录:
sudo mkdir -p /secret/home/$USER
sudo chown $USER:$USER /secret/home/$USER
Run Code Online (Sandbox Code Playgroud)在密钥环中创建密钥,并用它来设置要加密的目录的策略(sudo
此处不需要该命令):
$ /usr/sbin/e4crypt add_key -S s:`cat ~/.cryptoSalt`
Enter passphrase (echo disabled):
Added key with descriptor [0132fed69f946c86]
$ /usr/bin/e4crypt set_policy 0132fed69f946c86 /secret/home/$USER
Key with descriptor [0132fed69f946c86] applies to /secret/home/theuser.
Run Code Online (Sandbox Code Playgroud)每次重新启动后,add_key
可以使用该命令设置解密目录及其后代的密钥:
$ /usr/sbin/e4crypt add_key -S s:`cat ~/.cryptoSalt`
Enter passphrase (echo disabled):
Added key with descriptor [0132fed69f946c86]
Run Code Online (Sandbox Code Playgroud)
输入与上一步中使用的相同的密码,您不必记住描述符十六进制字符串。
也可以add_key
直接使用。这将使用文件系统特定的盐(因此该分区下的所有文件夹都将具有相同的盐)
$ /usr/sbin/e4crypt add_key /secret/home/$USER
Added key with descriptor [0132fed69f946c86]
Key with descriptor [0132fed69f946c86] applies to /secret/home/theuser.
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
21045 次 |
最近记录: |