几天前我安装了 ecryptfs,并使用它创建了一个私人目录。现在我的 Ubuntu 登录变得非常慢。我尝试从 Synaptic 中删除 ecryptfs。我发现它不能通过这种方式删除。我在某处读到过有关此命令的信息
ecryptfs-setup-private --undo
但是这个命令在终端上显示的命令列表相当混乱。我不想弄乱我的安装,也不想丢失我的管理员帐户。
现在我的问题是,如何安全地删除 /home/user/Private (.Private) 并删除 ecryptfs 加密?
答案1
移除程序记录在ecryptfs-设置-私有(1)实用程序,具有以下--undo
选项:
$ ecryptfs-setup-private --undo
In the event that you want to remove your eCryptfs Private Directory setup,
you will need to very carefully perform the following actions manually:
1. Obtain your Private directory mountpoint
$ PRIVATE=`cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private`
2. Ensure that you have moved all relevant data out of your $PRIVATE directory
3. Unmount your encrypted private directory
$ ecryptfs-umount-private
4. Make your Private directory writable again
$ chmod 700 $PRIVATE
5. Remove $PRIVATE, ~/.Private, ~/.ecryptfs
Note: THIS IS VERY PERMANENT, BE VERY CAREFUL
$ rm -rf $PRIVATE ~/.Private ~/.ecryptfs
6. Uninstall the utilities (this is specific to your Linux distribution)
$ sudo apt-get remove ecryptfs-utils libecryptfs0
全面披露:我是加密文件系统。
答案2
实际上,ecryptfs 会非常具体地告诉您运行时要做什么ecryptfs-setup-private --undo
,只需按照其说明进行操作即可。
获取您的私人目录挂载点
$ PRIVATE=`cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private`
此命令将$PRIVATE
您私有目录的路径填充到变量中。路径存储在~/.ecryptfs/Private.mnt
文件中(其中 ~ 是您的主目录),或者如果文件不存在,它将返回到 ~/Private 路径。然后,您可以运行echo $PRIVATE
命令来验证 PRIVATE 变量的内容。当您在以下命令中看到 $PRIVATE 时,它将被替换为变量的内容(在您的情况下为 ~/Private)。
确保您已移动所有相关数据离开你的 $PRIVATE 目录
这个很重要。
卸载加密的私人目录
$ ecryptfs-umount-private
eCryptFS 是一种安装在用户空间的文件系统(维基百科解释正在发生什么。这也是为什么私人文件夹不能轻易删除的原因。可以把它看作是一种透明地加密和解密文件的代理。此命令卸载文件夹,从而有效地禁用加密。
使您的私人目录再次可写
$ chmod 700 $PRIVATE
chmod
套文件权限在这种情况下,您说:“使存储在 $PRIVATE 中的文件/目录对我可读、可写和可执行(700)”——否则您无法删除该目录,因为您没有写权限。
删除 $PRIVATE、~/.Private、~/.ecryptfs
注意:这是永久性的,要非常小心
$ rm -rf $PRIVATE ~/.Private ~/.ecryptfs
这与它的名字完全一致。rm
命令表示删除,-r
表示递归(以递归方式删除目录),f
表示强制(“别再烦我了,直接删除它”)。这将删除所有这三个目录:$PRIVATE、~/.Private、~/.ecryptfs
如果您愿意,您可以从 Nautilus 中手动删除这些目录(只需选中“查看 > 显示隐藏文件”即可查看主目录中的 .Private 和 .ecryptfs 目录)。
卸载实用程序(这特定于您的 Linux 发行版)
$ sudo apt-get remove ecryptfs-utils libecryptfs0
这将删除ecryptfs-utils
和libecryptfs0
。您可以从 Synaptic 执行此操作,或者如果您想保留 eCryptFS(例如,供其他用户使用),则忽略它。
如果您遵循这些说明,则不会有破坏系统或丢失文件的风险 - 当然,除非您没有从 ~/Private 目录备份文件。
答案3
我按照https://help.ubuntu.com/community/EncryptedPrivateDirectory#Using%20in%20conjunction%20with%20Auto-login在“如何删除加密的私人目录设置”部分中。
笔记:
- 您必须登录正确的用户会话,我的意思是您不想加密的会话。
- 通常备份您的私人文件夹 (/home/your-user-name/Private) 中的所有数据。
- 删除 ecryptfs(步骤 5)是可选的,按照前面的步骤就可以了。
如果您无权访问私人文件夹中的数据,或者文件名已加密,请按照以下步骤操作:
注意:此程序是我自己找到的替代方法(在朋友的帮助下),因为我在论坛上读到的所有内容对我来说都不起作用。
- $ sudo ecryptfs-恢复-private
- $ [sudo] “用户名”的密码
- $ INFO:搜索加密的私人目录(这可能需要一段时间)...
- 信息:找到 [/home/.ecryptfs/"user-name"/.Private]。
- 尝试恢复此目录?[Y/n]:Y
- 信息:找到了您的包装密码……
- 您知道您的登录密码吗?[Y/n]:Y
- 信息:输入您的登录密码...密码:*“用户名”的登录密码
- 将带有签名 [xxxxxxxxxxxxxxx] 的 auth tok 插入到用户会话密钥环中
- 信息:成功!私人数据以只读方式挂载在 [/tmp/ecryptfs.yyyyyyyy]。
- $ sudo nautilus /tmp/ecryptfs.yyyyyyyy/
最后一个命令将打开文件夹 /tmp/ecryptfs.yyyyyyyy,您可以在其中访问解密数据以进行备份。然后关闭该文件夹并关闭终端。