我不小心刪除了 .ecryptfs 資料夾,還有 .private 資料夾。不能再登入了。就當客人吧。刪除這些資料夾之前如何恢復系統?
答案1
您是否記錄了隨機產生的安裝密碼?它將是 [0-9a-f] 的 16 或 32 個字元。如果您有那麼長的隨機密碼,那麼恢復起來相對容易。如果你沒有這個,就沒有康復的機會。
如果您有隨機產生的安裝密碼,您將重新建立 .ecryptfs 目錄。
mkdir $HOME/.ecryptfs
ecryptfs-add-passphrase --fnek
[enter your long, random mount passphrase]
keyctl list @u
[add the two key fingerprints to $HOME/.ecryptfs/Private.sig]
ecryptfs-wrap-passphrase $HOME/.ecryptfs/wrapped-passphrase
echo $HOME > $HOME/.ecryptfs/Private.mnt
答案2
恢復磁碟機的唯一方法是使用安裝密碼,它是加密時向您提供的 16、32 或 64 個字元的字串。如果您沒有保存該字串,您的資料就會遺失。為了讓演練更容易,我們假設您建立了一個名為的新檔案/home/USER/mountkey
並將上述密碼儲存在其中。在下面的 bash 片段中,替換USER
為您的使用者名稱。
如果您有該密碼,請執行下列步驟:
mkdir /home/USER/.ecryptfs
touch /home/USER/.ecryptfs/Private.sig
ecryptfs-add-passphrase --fnek
系統會要求您輸入密碼。這樣做後,您將獲得兩個簽名密鑰。將兩個密鑰儲存在兩個單獨的行中/home/USER/.ecryptfs/Private.sig
(如果您錯過了這些密鑰,您可以透過運行來檢索它們keyctl list @u
)。
現在,執行以下命令:
cat /home/USER/mountkey <(echo "ORIGINAL_PASSWORD") | ecryptfs-wrap-passphrase /home/USER/.ecryptfs/wrapped-passphrase
在上面,ORIGINAL_PASSWORD 是您最初用於加密硬碟的任何密碼。您很有可能使用與登入密碼相同的密碼,但這不一定是真的。 ORIGINAL_PASSWORD 也與開頭所述的密碼不同,後者是 16、32 或 64 位元字母數字字串。
現在您需要指定安裝家庭磁碟機的位置,並啟動自動安裝:
/home/USER/ > /home/USER/.ecryptfs/Private.mnt
touch /home/USER/.ecryptfs/auto-mount
touch /home/USER/.ecryptfs/auto-umount