使用 ecryptfs 加密非空資料夾

使用 ecryptfs 加密非空資料夾

我有一些資料夾,裡面有很多大文件,我想使用 ecryptfs 加密它們。

我想知道是否可以安裝一個已經包含文件(以及包含文件的子文件夾)的資料夾,或者我是否必須創建一個新的空目錄,安裝它,然後複製文件,這就是有效的到目前為止,但我想避免由於我必須複製的數據量。

編輯:一些附加信息,我使用的是 Ubuntu 20.04.5,我還想加密網路驅動器上的類似資料夾,不確定這是否會改變可能的解決方案

答案1

eCryptfs(以及基本上任何磁碟加密,如 LUKS 等)只能透過加密檔案並將加密資料寫入磁碟來運作。沒有捷徑可以避免將所有資料寫入磁碟。

如果您只是尋找文件的即時「加密視圖」(可能僅用於遠端儲存),那麼 EncFS 可以使用它的--reverse選項來做到這一點:

如果您想要一個自動化工具將現有使用者的主目錄遷移到 ecryptfs 加密主目錄設置,可以使用該ecryptfs-migrate-home 工具(在ecryptfs-utils軟體包中),但它只是自動建立一個加密目錄,將舊主目錄複製到其中,然後將其設定為成為新家。它有一些警告:

警告:將未加密資料完整備份到另一個系統或外部媒體。該腳本很危險,如果發生錯誤,可能會導致資料遺失或用戶被鎖定在系統之外!

該程式所需的可用磁碟空間是目前要遷移的主目錄大小的 2.5 倍。成功後,您可以透過刪除明文目錄來恢復大部分空間。

聽起來您已經可以手動複製到加密目錄了,也許一次自動複製、驗證然後刪除幾個檔案會加快速度,但這是一個不同的主題。


如果您只是尋找文件的即時「加密視圖」(可能僅用於遠端儲存),那麼 EncFS 可以使用它的--reverse選項來做到這一點,但是您的原始檔案將在磁碟上保持未加密狀態:

通常,EncFS 按需提供資料的明文視圖:它儲存加密資料並顯示明文資料。使用 --reverse 時,它將作為來源明文資料並按需產生加密資料。這對於建立遠端加密備份非常有用,因為您不希望本機檔案保持未加密狀態。

例如,以下命令將在 /tmp/crypt-view 中建立加密視圖。

encfs --reverse /home/me /tmp/crypt-view

然後,您可以複製 /tmp/crypt-view 目錄以獲得加密資料的副本。您也必須保留包含檔案系統資訊的檔案 /home/me/.encfs6.xml 的副本。兩者一起可以用來重現未加密的資料:

ENCFS6_CONFIG=/home/me/.encfs6.xml encfs /tmp/crypt-view /tmp/plain-view

現在 /tmp/plain-view 包含與 /home/me 相同的數據

請注意,--reverse 模式僅適用於有限的配置選項,因此在使用時許多設定可能會被停用。目前不相容的選項:檔案名稱初始化向量連結和外部 IV 連結。

相關內容