几个月前我安装了 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 ...
如果这可以帮助别人不犯和我一样的错误......