如何停止使用内置主目录加密?

Jon*_*nik 112 encryption ecryptfs

我有一个带有加密主目录的新 Ubuntu 10.04 安装(使用 Ubuntu 安装程序提供的内置加密)。

停止使用加密的最简单方法是什么?(即,永久解密我的主目录。)

(它给我带来了内核更新问题,我只想减少我在安装时遇到的所有麻烦。)

Jon*_*nik 77

谷歌搜索,我找到了这篇文章

不是要提出旧线程,但如果有人在尝试按照这些说明操作时出错,这就是我所做的。

  1. 登录时备份主目录 sudo cp -rp /home/user /home/user.backup

    1.1. 检查您的家庭备份是否拥有一切!!!

  2. 通过 grub 重启到 root
  3. 删除您的主目录 rm -rf /home/user
  4. 删除包 apt-get remove ecryptfs-utils libecryptfs0
  5. 恢复你的主目录 mv /home/user.backup /home/user
  6. 重启
  7. 删除任何这些.Private .ecryptfs文件夹rm -rf ~/.Private rm -rf ~/.ecryptfs
  8. 好极了!
这对我有用。主文件夹文件权限保持不变,不会干扰 Dropbox 或 git 存储库。出于某种原因,我在 Ubuntu 9.10 上的全新安装不会执行第一个命令。只要确保您在使用rm -rf. 只是想发布这个不仅是为了我的记录,也是为了任何遇到问题的人。

一些笔记

  • 通过 grub 重新启动到 root对我来说有点不清楚;我没有重新启动,只是切换到使用 root 用户(另一个具有sudo特权的用户帐户也能正常工作)。
  • 在删除软件包ecryptfs-utilslibecryptfs0起作用之前,我需要删除/home/.ecryptfs/<myusername>. (它抱怨说ecryptfs-utils正在使用。)

除此之外,这对我有用。虽然这远非简单,所以请随时发布更好的解决方案!

  • 这在 12.10 上也对我有用。我还需要先删除 `/home/.ecryptfs/&lt;myusername&gt;`。另外,我不得不在根控制台中重新挂载`/`,但我想这是另一个故事。谢谢! (3认同)
  • +1 通过 SSH 更容易做到这一点,无需处理 GRUB 或试图避免任何安装。小心删除/home/.ecryptfs。显然它有一个指向 /home/username 的符号链接。我丢失了所有数据。 (3认同)
  • 对于第 1 步,如果您收到错误:`/home/&lt;username&gt;/.gvfs:Cannot stat: Permission denied`,您可以随时使用 rsync:`rsync -avz --exclude '*.gvfs' /home/&lt;username &gt; /home/&lt;用户名&gt;.backup` (2认同)

zuz*_*ust 47

在这里,希望这会有所帮助(请参阅 参考资料ecryptfs-setup-private(1)):

$ ecryptfs-setup-private --undo
Run Code Online (Sandbox Code Playgroud)

输出声称:

如果您想删除您的 eCryptfs 私人目录设置,您将需要非常小心地手动执行以下操作:

  1. 获取您的私有目录挂载点

    $ PRIVATE=`cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private`
    
    Run Code Online (Sandbox Code Playgroud)
  2. 确保您已将所有相关数据移出$PRIVATE目录

  3. 卸载加密的私有目录

    $ ecryptfs-umount-private
    
    Run Code Online (Sandbox Code Playgroud)
  4. 使您的私人目录再次可写

    $ chmod 700 $PRIVATE
    
    Run Code Online (Sandbox Code Playgroud)
  5. 删除$PRIVATE, ~/.Private,~/.ecryptfs

    注意:这是非常永久性的,要非常小心

    $ rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
    Run Code Online (Sandbox Code Playgroud)
  6. 卸载实用程序(这特定于您的 Linux 发行版)

    $ sudo apt-get remove ecryptfs-utils libecryptfs0
    
    Run Code Online (Sandbox Code Playgroud)

  • 这仅适用于加密目录“~/Private”,而不适用于 OP 所述的加密主目录。有关差异,请参阅 https://help.ubuntu.com/community/EncryptedHome。 (4认同)

hhl*_*hlp 16

要做的第一件事:备份你的家 我不能大声说出来...基本上取消加密相当于重置 ( rm -rf) 你的家,它实际上被一个坐骑隐藏了。

第二步:退出任何桌面管理器并转到虚拟控制台 ( CTRL-ALT-F1)

最后:详情:

ecryptfs-setup-private --undo
Run Code Online (Sandbox Code Playgroud)

如果您想删除您的 eCryptfs 私人目录设置,您将需要非常小心地手动执行以下操作:

  1. 获取您的私有目录挂载点 PRIVATE= cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private

  2. 确保您已将所有相关数据移出$PRIVATE目录

  3. 卸载加密的私有目录

    ecryptfs-umount-private
    
    Run Code Online (Sandbox Code Playgroud)
  4. 使您的私人目录再次可写

    chmod 700 $PRIVATE
    
    Run Code Online (Sandbox Code Playgroud)
  5. 删除$PRIVATE, ~/.Private,~/.ecryptfs 注意:这是非常永久的,要非常小心

      rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
    Run Code Online (Sandbox Code Playgroud)
  6. 卸载实用程序

     sudo apt-get remove ecryptfs-utils libecryptfs0
    
    Run Code Online (Sandbox Code Playgroud)

我会说第 5 步有点错误:没有必要删除$PRIVATE,这对我来说是我的家....

经过.Private.ecryptfs删除,只是恢复你的家:]

  • 如果您加密了一半以上的硬盘空间怎么办?有没有办法,不买另外的驱动器? (5认同)

Eri*_*ick 8

此步骤将在服务器环境中工作

第 1 步:备份您的主目录

须藤cp -rp /home/$USER /home/$USER.backup

第二步:确认一切是否备份

须藤 ls -al /home/$USER.backup

第 3 步:卸载 home 文件夹,因为加密程序通常会将其挂载到挂载点,例如/home/$USER,也称为$HOME. 您可以通过运行来确认您的挂载点df -h $HOME。您必须cd /tmp(或其他一些非$HOME目录)才能卸载$HOME

cd /tmp
须藤卸载 /home/$USER

步骤 4:删除旧的主文件夹

须藤 rm -rf /home/$USER

步骤 5:删除加密程序文件

须藤 rm -rf /home/$USER.backup/.ecryptfs

步骤 6:从系统中删除加密实用程序

sudo apt-get 删除 ecryptfs-utils libecryptfs0

第 7 步:将未加密的主文件夹恢复到原始路径

须藤 mv /home/$USER.backup /home/$USER

第 8 步:将恢复的文件夹的所有权改回您的用户

须藤 chown -R $(id -u):$(id -g) /home/$USER

第 9 步:注销/登录,以确保所有用户内容都正确重新启动(或者在您记住所做的事情时会发生错误)


Mel*_*ius 5

在我意识到其他地方提到的最具侵入性的步骤是不必要的之后,在长长的列表中添加了另一个指南。

我的指南不需要重启,我已经通过 SSH成功完成了它。如果机器上有其他 eCryptfs 安装,它也应该工作。

唯一不明显的要求是能够以具有sudo访问权限的另一个用户身份登录。

  1. 以具有加密主目录(user在本指南中称为)的用户身份登录。

  2. 只是为了保持以下步骤中的路径简单且对称:

    cd /home
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将解密的主文件夹内容复制到另一个目录。

    sudo cp -rp user user.new
    
    Run Code Online (Sandbox Code Playgroud)
  4. 注销(exitlogout)。以另一个 sudoer 身份登录。

  5. 检查 eCryptfs 挂载是否已卸载。不要umount手动操作,可能会导致数据丢失!(亲身体验。我正在user登录另一个 SSH 会话。)

    mount | grep ecryptfs
    
    Run Code Online (Sandbox Code Playgroud)

    输出必须为空。或者,如果有任何其他 eCryptfs 挂载,它不得包含/home/user.

  6. 就像步骤 2 一样。

    cd /home
    
    Run Code Online (Sandbox Code Playgroud)
  7. 将副本标记为不受 eCryptfs 管理。(不需要卸载 eCryptfs 包,尤其是当有其他 eCryptfs 挂载时。)

    sudo rm user.new/.ecryptfs user.new/.Private
    
    Run Code Online (Sandbox Code Playgroud)
  8. 将未加密的主目录移动到位。

    sudo mv user user.old && sudo mv user.new user
    
    Run Code Online (Sandbox Code Playgroud)
  9. 登录user并检查一切是否正常并且 eCryptfs 没有启动。

    mount | grep ecryptfs
    
    Run Code Online (Sandbox Code Playgroud)
  10. 删除user的主文件夹的原始内容和加密数据。

    rm -r /home/user.old
    sudo rm -r /home/.ecryptfs/user
    
    Run Code Online (Sandbox Code Playgroud)