Ubuntu:如何在不重新安裝的情況下解密主目錄、交換(基本上所有內容)?
我剛剛在 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
,那麼一旦您確信一切都按預期工作,就應該這樣做。