![使用 ubuntu 18 从 ubuntu 19 访问 ecryptfs 磁盘](https://linux22.com/image/917202/%E4%BD%BF%E7%94%A8%20ubuntu%2018%20%E4%BB%8E%20ubuntu%2019%20%E8%AE%BF%E9%97%AE%20ecryptfs%20%E7%A3%81%E7%9B%98.png)
当我安装 Ubuntu 19 时,它建议加密我/home
分区所在的磁盘。我选择这样做是因为我认为我的数据会更安全。
由于各种原因,我对 Ubuntu 19 不满意,因此我安装了 Ubuntu 18,而/home
没有动光盘。
现在无法安装光盘了。我必须在(较小的)系统光盘上创建一个 /home 目录才能继续。现在安装旧光盘,因为/home2
我设法到达了这一点:
root@host:/home2# ecryptfs-unwrap-passphrase /home2/.ecryptfs/user/.ecryptfs/wrapped-passphrase
Passphrase: ********
2abd39dc3693535ca43a2bf40691f5b9
root@host:/home2# sudo ecryptfs-add-passphrase --fnek
Passphrase:
Inserted auth tok with sig [934485b75a55371a] into the user session keyring
Inserted auth tok with sig [ec2a4a6c55ccb30f] into the user session keyring
然后继续安装:
root@host:/home2# sudo mount -t ecryptfs /home2/.ecryptfs/user/.Private /mnt/
Passphrase:
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32
2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16
Selection [aes]:
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]:
Enable plaintext passthrough (y/n) [n]: n
Enable filename encryption (y/n) [n]: y
Filename Encryption Key (FNEK) Signature [934485b75a55371a]:
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=934485b75a55371a
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=934485b75a55371a
Mounted eCryptfs
这看起来很有希望。但是当我进入 /mnt 时,我得到了
root@host:/home2# ls /mnt/ ls:无法访问‘/mnt/Public’:没有此文件或目录 ls:无法访问“/mnt/Handboek Communicatiestijl.pdf”:没有此文件或目录 ls:无法访问‘/mnt/Videos’:没有该文件或目录 ls:无法访问‘/mnt/home’:没有此文件或目录 ls:无法访问‘/mnt/Music’:没有此文件或目录 ls:无法访问‘/mnt/Desktop’:没有此文件或目录 ls:无法访问‘/mnt/Templates’:没有此文件或目录 ls:无法访问‘/mnt/Documents’:没有此文件或目录 ls:无法访问‘/mnt/Downloads’:没有此文件或目录 ls:无法访问‘/mnt/Pictures’:没有此文件或目录 ls:无法访问‘/mnt/projects’:没有此文件或目录 ls:无法访问‘/mnt/work’:没有此文件或目录 ls:无法访问“/mnt/NVIDIA_CUDA-10.1_Samples”:没有该文件或目录 ls:无法访问‘/mnt/homedir’:没有此文件或目录 桌面 NVIDIA_CUDA-10.1_示例 文件 图片 下载 项目 《通讯手册.pdf》民众 家 模板 主目录 视频 音乐 工作
因此,该ls
命令最终会显示名称,但首先它会说no such file or directory
(即使它确实能从目录中识别文件)。我无法进入目录或访问文件——它们的权限都像这样
drwx------ 29 用户用户 12288 10 月 21 日 15:26 ./ drwxr-xr-x 25 root root 4096 okt 22 14:39 ../ -????????? ?? ?? ?? .隐藏文件 d????????? ?? ?? ?? 目录 -????????? ? ? ? ? ? 普通文件 l????????? ? ? ? ? ? 链接
所以到这里我知道我提供了正确的密码等,但是为什么文件和它们的权限最终会被改变呢?
是否有人知道是否可以通过不同的(加密)选项或使用不同版本来解决这个问题ecryptfs
?
答案1
您可能需要使用 Ubuntu 19 Live CD 重新启动,使用 ecryptfs 密码挂载分区,然后指示它解密文件系统并将其重新转换为未加密的 ext4fs。然后卸载卷,并在 Ubuntu 18 中重新启动。
但也许您也可以在 Ubuntu 18 上安装 ecryptfs 作为插件。基本上,只要您拥有正确的最低内核版本,这应该就可以工作(Linux 内核版本独立于 Ubuntu 发行版,它只需要最低支持的内核,可以单独更新由版本化的 Ubuntu 环境支持的其他软件包)。
注意:我还没有检查 ecryptfs 是否在 Ubuntu 18 支持的软件包列表中被反向移植。无论如何,新的默认 Ubuntu 19 发行版中的大多数更改都可以恢复,包括桌面管理器(如果您不喜欢新的),因为 Ubuntu 19 支持几乎所有为 Ubuntu 18 构建的软件包。许多其他基于 Ubuntu 的发行版也是这样做的,它们对默认软件包做出了其他选择。
还要确保 Ubuntu 18 使用更新的内核:转到软件管理器,选择内核版本菜单,然后应用最新版本。
答案2
try执行成功后mount -t ecryptfs
:
sudo ecryptfs-recover-private /home2/.ecryptfs/user/.Private
它应该解密您的旧主文件夹(当前安装为/home2
)的文件,并将它们放在名为以下内容的临时文件夹中:/tmp/ecryptfs.xyz12345