使用 ubuntu 18 从 ubuntu 19 访问 ecryptfs 磁盘

使用 ubuntu 18 从 ubuntu 19 访问 ecryptfs 磁盘

当我安装 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

相关内容