我如何才能从我的系统中彻底删除 ecryptfs 并删除 .Private?

我如何才能从我的系统中彻底删除 ecryptfs 并删除 .Private?

几天前我安装了 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-utilslibecryptfs0。您可以从 Synaptic 执行此操作,或者如果您想保留 eCryptFS(例如,供其他用户使用),则忽略它。

如果您遵循这些说明,则不会有破坏系统或丢失文件的风险 - 当然,除非您没有从 ~/Private 目录备份文件。

答案3

我按照https://help.ubuntu.com/community/EncryptedPrivateDirectory#Using%20in%20conjunction%20with%20Auto-login在“如何删除加密的私人目录设置”部分中。

笔记:

  • 您必须登录正确的用户会话,我的意思是您不想加密的会话。
  • 通常备份您的私人文件夹 (/home/your-user-name/Private) 中的所有数据。
  • 删除 ecryptfs(步骤 5)是可选的,按照前面的步骤就可以了。

如果您无权访问私人文件夹中的数据,或者文件名已加密,请按照以下步骤操作:

注意:此程序是我自己找到的替代方法(在朋友的帮助下),因为我在论坛上读到的所有内容对我来说都不起作用。

  1. $ sudo ecryptfs-恢复-private
  2. $ [sudo] “用户名”的密码
  3. $ INFO:搜索加密的私人目录(这可能需要一段时间)...
  4. 信息:找到 [/home/.ecryptfs/"user-name"/.Private]。
  5. 尝试恢复此目录?[Y/n]:Y
  6. 信息:找到了您的包装密码……
  7. 您知道您的登录密码吗?[Y/n]:Y
  8. 信息:输入您的登录密码...密码:*“用户名”的登录密码
  9. 将带有签名 [xxxxxxxxxxxxxxx] 的 auth tok 插入到用户会话密钥环中
  10. 信息:成功!私人数据以只读方式挂载在 [/tmp/ecryptfs.yyyyyyyy]。
  11. $ sudo nautilus /tmp/ecryptfs.yyyyyyyy/

最后一个命令将打开文件夹 /tmp/ecryptfs.yyyyyyyy,您可以在其中访问解密数据以进行备份。然后关闭该文件夹并关闭终端。

相关内容