安装 Ubuntu 后加密用户文件夹,而不使用 2.5 倍当前已用空间?

安装 Ubuntu 后加密用户文件夹,而不使用 2.5 倍当前已用空间?

几个月前我安装了 XUnbuntu,并且犯了一个愚蠢的错误,没有选中“Encrypt Home”。

我现在正在寻找一种方法来加密我的用户的主目录(我只有一个用户使用这台计算机)。

我读过很多关于安装后加密 /home 的教程,例如: https://www.howtogeek.com/116032/how-to-encrypt-your-home-folder-after-installing-ubuntu/ 但它们都使用相同的方法,通过ecryptfs-migrate-home该方法在文档中明确宣布使用用户目录当前大小的 2.5 倍。

不幸的是,我有一个150GB的SSD,而我的/home/user已经使用了100GB...所以我不能使用这个方法。另外,我希望不必购买外部驱动器,也不必浪费(大量)时间通过 USB2 端口来回复制所有数据。

因此,我正在尝试寻找解决方案来解决这个问题。

在读的时候:https://askubuntu.com/a/1029330,我发现了这个命令: sudo adduser --encrypt-home <user>

这让我想到user使用此命令创建一个具有加密主目录的新用户,然后将我的所有original-user文件复制/移动到这个加密目录,然后销毁该original-user帐户并将user帐户重命名为original-user.

我尝试了这个想法,首先尝试使用加密的目录创建新用户。这似乎有效(除了passwd: Permission denied我找不到它来自哪里,但似乎并没有阻止用户使用提供的密码登录):

# adduser --encrypt-home user
Adding user `user' ...
Adding new group `user' (1002) ...
Adding new user `user' (1002) with group `user' ...
Creating home directory `/home/user' ...
Setting up encryption ...

************************************************************************
YOU SHOULD RECORD YOUR MOUNT PASSPHRASE AND STORE IT IN A SAFE LOCATION.
  ecryptfs-unwrap-passphrase ~/.ecryptfs/wrapped-passphrase
THIS WILL BE REQUIRED IF YOU NEED TO RECOVER YOUR DATA AT A LATER TIME.
************************************************************************


Done configuring.

Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: Permission denied
passwd: password unchanged
Try again? [y/N] 
Changing the user information for user
Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] y

之后我可以看到:

# ls /home
total 32K
drwxr-xr-x  6 root    root       4,0K févr. 28 10:53 .
drwxr-xr-x 23 root    root       4,0K févr. 19 10:16 ..
drwx------  3 root    root       4,0K févr. 28 10:53 .ecryptfs
...
...
dr-x------  2 user    user       4,0K févr. 28 10:53 user
...

total 16K
drwx------ 4 user user 4,0K févr. 28 10:53 .
drwx------ 3 root root 4,0K févr. 28 10:53 ..
drwx------ 3 user user 4,0K févr. 28 10:53 .Private
drwx------ 2 user user 4,0K févr. 28 10:53 .ecryptfs

# ls /home/user/
total 8,0K
dr-x------ 2 user user 4,0K févr. 28 10:53 .
drwxr-xr-x 6 root root 4,0K févr. 28 10:53 ..
lrwxrwxrwx 1 user user   29 févr. 28 10:53 .Private -> /home/.ecryptfs/user/.Private
lrwxrwxrwx 1 user user   30 févr. 28 10:53 .ecryptfs -> /home/.ecryptfs/user/.ecryptfs
lrwxrwxrwx 1 user user   56 févr. 28 10:53 Access-Your-Private-Data.desktop -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
lrwxrwxrwx 1 user user   52 févr. 28 10:53 README.txt -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt

所以所有目录和用户条目似乎都已正确创建......

但是,当我尝试使用上面列出的命令挂载此目录时README.txt,它失败并显示:ERROR: Encrypted private directory is not setup properly

当我尝试使用手动解决方案来恢复崩溃的加密系统时(https://ubuntuforums.org/showthread.php?t=1643532),我可以看到复制的骨架文件(.bashrc,...)adduser(如果我对“加密文件名”说“是”),但访问权限等都是???,所以我知道解密本身不起作用。

ls: cannot access '.Xdefaults': No such file or directory
ls: cannot access '.xscreensaver': No such file or directory
ls: cannot access '.profile': No such file or directory
ls: cannot access '.bash_logout': No such file or directory
ls: cannot access '.config': No such file or directory
ls: cannot access '.bashrc': No such file or directory
total 40K
drwx------ 6 user user 4,0K févr. 28 11:15 .
drwxr-xr-x 6 root root 4,0K févr. 28 10:53 ..
-????????? ? ?    ?       ?              ? .Xdefaults
-????????? ? ?    ?       ?              ? .bash_logout
-????????? ? ?    ?       ?              ? .bashrc
d????????? ? ?    ?       ?              ? .config
-????????? ? ?    ?       ?              ? .profile
-????????? ? ?    ?       ?              ? .xscreensaver
...

另外,当我运行推荐的命令来备份密码短语时ecryptfs-unwrap-passphrase ~/.ecryptfs/wrapped-passphrase,我收到一条错误消息,指出该文件不存在,事实确实如此。

我尝试使用创建它ecryptfs-setup-private -u user [-w],但到目前为止还没有成功。

所以我的问题是: - 这种方法有效吗? (我不这么认为,否则人们不会提出一种占用 2.5 倍所需空间的方法)。 - 特别是,是否可以创建加密的/home/user目录cryptsetup/home 上分割未配置加密,或者是分割本身应该加密(这可以解释mount在尝试备份时使用和缺少密码短语的解密问题)? - 如果我的想法不错,有没有办法生成密码来完成我的设置?

提前感谢大家!

答案1

好吧...回复自己...显然我使用了错误的密码...

网上的文档对于何时使用登录/安装密码非常不清楚

总之,您使用:

  • 登录密码仅用于ecryptfs-unwrap-passphrase获取您的安装密码
  • ecryptfs-add-key --fnek当您致电获取 FNEK(文件名加密)密钥时的 MOUNT 密码
  • MOUNT 密码,然后使用时的 FNEK 密钥mount -t ecryptfs ...

如果这可以帮助别人不犯和我一样的错误......

相关内容