Ubuntu

Ubuntu:如何在不重新安裝的情況下解密主目錄、交換(基本上所有內容)?

  • August 11, 2015

我剛剛在 Ubuntu Server 10.04 中遇到了加密主目錄的問題。

雖然我知道一種解決方法,但我只想從所有內容中完全刪除加密。

任何提示如何在沒有完整備份和重新安裝的情況下做到這一點?

本指南是相當大的手術,只有在您對命令行有信心的情況下才能遵循它 - 一些錯誤可能會導致失去所有數據。

您必須將主目錄中的所有文件複製到其他地方,然後在關閉加密後將它們複製回來,但您不必重新安裝。因此,假設您有一個外部驅動器位於/media/disk-1. 你可以備份

$ cp -a /home/user /media/disk-1/

確實是遞歸的-a,還有更多。確保備份所有使用者,因為我們稍後會刪除加密副本。

然後您需要解除安裝 ecryptfs 掛載,刪除所有加密文件,停止自動掛載並將所有文件複製回來。如果您使用 GUI 登錄,這將造成嚴重破壞,因此我要麼註銷,然後在其中一個控制台上登錄(按 Ctrl-Alt-F1 訪問一個),要麼我會啟動一張 live CD/ USB 記憶棒來執行此操作。無論哪種方式,請確保您的備份是安全的。

如果您使用的是 live CD,則需要掛載磁碟,以下命令中的路徑將相應更改。

因此,解除安裝 ecryptfs 掛載。(如果您正在使用 Live CD,則無需執行此步驟)。

$ ecryptfs-umount-private

接下來通過刪除所有舊的加密文件在磁碟上騰出空間。在執行此操作之前,請確保您的備份是安全的。如果你有超過一半的磁碟備用,你可以離開這一步,直到你確定新版本正在工作。但是,如果您只有一點磁碟備用,那麼您需要在將文件複製回來之前執行此操作。

$ sudo rm -rf /home/.ecryptfs

接下來我們需要停止自動掛載。所以編輯文件

/etc/pam.d/common-auth 
/etc/pam.d/common-password 
/etc/pam.d/common-session 
/etc/pam.d/common-session-noninteractive

pam_ecryptfs並通過在行首添加a來註釋掉提到#的行。例如,common-session現在將包含

#session    optional    pam_ecryptfs.so unwrap

現在您可以將所有文件複製回來

$ cp -a /media/disk-1/user /home

然後重新啟動,您應該沒有加密文件夾,並且能夠啟用自動登錄。如果您之前沒有刪除/home/.ecryptfs,那麼一旦您確信一切都按預期工作,就應該這樣做。

引用自:https://serverfault.com/questions/160277