在Ubuntu 20.04上使用eCryptFS加密文件和目錄

在本教程中,您將學習如何在Ubuntu 20.04上使用eCryptFS加密文件和目錄。 加密 是將純文本數據,消息或信息轉換為隨機且無意義的數據(通常稱為密文)的過程。加密的數據只能由授權方訪問,而未經授權的人則不能訪問。

Linux中有多種加密數據的方法,例如EncFS,用於文件系統級加密的eCryptFS,用於全盤加密的Loop-AES,DMCrypt和CipherShield。

eCryptfs是適用於Linux的POSIX兼容企業級堆棧加密文件系統。無論底層文件系統,分區類型等如何,文件系統層上的eCryptfs層都可以保護文件

在安裝過程中,Ubuntu提供了使用eCryptfs加密/ home分區的選項。這將自動配置加密和掛載分區所需的所有內容。但是,如果您對此不太滿意,請執行以下步驟來手動加密文件和目錄。

在Ubuntu 20.04上使用eCryptFS加密文件和目錄

安裝eCryptFS

要使用eCryptFS,請安裝必要的軟件包。但是,如果在安裝過程中啟用了主目錄加密,則應該已經安裝了該實用程序。

如果該軟件包尚不存在,則需要更新系統軟件包緩存並安裝ecryptfs。

apt update
apt install ecryptfs-utils -y

使用eCryptFS加密目錄

現在安裝已完成,現在該看看eCryptFS了。

要使用eCryptFS加密目錄,請使用ecryptfs文件系統類型掛載有問題的目錄。

假設您要加密 〜/ mydocuments, 然後;

sudo mount -t ecryptfs ~/mydocuments/ ~/mydocuments/

運行此命令時,它要求輸入密碼和其他幾個提示。相應地回答他們。

Passphrase:    Enter your passpharase here
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32
2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16
Selection [aes]:  Press Enter
Select key bytes: 
1) 16
2) 32
3) 24
Selection [16]:  Press Enter
Enable plaintext passthrough (y/n) [n]: n
Enable filename encryption (y/n) [n]: n
Attempting to mount with the following options:
   ecryptfs_unlink_sigs
   ecryptfs_key_bytes=16
   ecryptfs_cipher=aes
   ecryptfs_sig=96b6fac91e0a01b8
 WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
 it looks like you have never mounted with this key 
 before. This could mean that you have typed your 
 passphrase wrong.
 Would you like to proceed with the mount (yes/no)? : yes
 Would you like to append sig [96b6fac91e0a01b8] to
 [/root/.ecryptfs/sig-cache.txt] 
 in order to avoid this warning in the future (yes/no)? : yes
 Successfully appended new sig to user sig cache file
 Mounted eCryptfs

加密目錄現在已安裝。運行以下命令以驗證安裝。

sudo mount | grep mydocuments
/home/koromicha/mydocuments on /home/koromicha/mydocuments type ecryptfs (rw,relatime,ecryptfs_sig=96b6fac91e0a01b8,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)

現在,您可以開始將敏感數據放入目錄中。

例如,讓我們在加密目錄內創建一個包含隨機數據的文件。

cat > ~/mydocuments/clients-contacts.txt << 'EOL'
ClientA: 020-000001
ClientB: 020-000002
ClientC: 020-000003
ClientD: 020-000004
EOL

只要安裝了目錄,就可以訪問數據。

讓我們卸載目錄,看看是否可以訪問數據。

sudo umount ~/mydocuments

現在嘗試查看數據。

cat ~/mydocuments/clients-contacts.txt
P.p"3DUfw`ք[PJP5~p_CONSOLE9mxǮP|Xt߫0ak!f(BƬ 
:i>0o989<Ѥ[email protected](WZ=&Ss<g9#@e`A]L!U]s/zU.x|B$HPmTTzyrrx4%@$8!r]sI#4q1Z8&ۿGGb$7
^QUﷱIa4ɵK,tyhUUHi 0]h<S+fK2DH-mC[iO-XbKdװ@%xYs, w'
O-nt!z"ɾ6AZyƷ.؃T`ǡ0FfӲܮ%O{@[ߕ8wLRѻsr&]^ XoeA"m?SVb&/Nrgθo?&[sj!
"lL CЯ5)+H^rA2aKxf.a+}LiA̝|gSOj2y_x~Ma^p.PmPUvdjv34 c5-FhFQ½CTLB#OI+5.WXsDlbʺ
f50)> AJa7$~4V!R;udP]ޱABSyT!qg D;fY(&[email protected]"JyɬPwvJ"h}B<nS>e
)@[K~w39PK^ j~p"G'eQEK&3Ywe,Ϸ,AVjƺ!yUoX ·@:!{mQfۢ'wţap]4}% αu[0M#>S魍g9t_A0k=ۊ;
wℍGZN$V2"HI-4oIክEoK?]9sIr0J:{uTJ8D֍+ nɪ7CI&iCELYa̅ÿҞޙn)-]}C
...

這都是沒有意義的。

要訪問數據,您需要重新安裝目錄。

當提示您輸入密碼短語時,請在首次安裝目錄時使用您設置的密碼。

sudo mount -t ecryptfs ~/mydocuments/ ~/mydocuments/
Passphrase: ENTER THE PASSPHRASE
Select cipher: 
 1) aes: blocksize = 16; min keysize = 16; max keysize = 32
 2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56
 3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
 4) twofish: blocksize = 16; min keysize = 16; max keysize = 32
 5) cast6: blocksize = 16; min keysize = 16; max keysize = 32
 6) cast5: blocksize = 8; min keysize = 5; max keysize = 16
Selection [aes]: 
Select key bytes: 
 1) 16
 2) 32
 3) 24
Selection [16]: 
Enable plaintext passthrough (y/n) [n]: 
Enable filename encryption (y/n) [n]: 
Attempting to mount with the following options:
  ecryptfs_unlink_sigs
  ecryptfs_key_bytes=16
  ecryptfs_cipher=aes
  ecryptfs_sig=96b6fac91e0a01b8
Mounted eCryptfs

現在,您可以在加密目錄中查看數據。

重新掛載目錄的過程是如此手動,而且有點麻煩。因此,要自動執行此過程,您可以創建一個bash腳本或使用帶有密碼短語的USB來自動執行此過程。

請參閱我們的下一個教程,了解如何自動執行此安裝過程。乾杯。

這標誌着本教程的結尾,說明了如何在Ubuntu 20.04上使用eCryptFS加密文件和目錄。

其他教程

如何在命令行上使用VeraCrypt加密Ubuntu 18.04上的驅動器

在Ubuntu 20.04上安裝和設置VeraCrypt

在Linux中使用LUKS加密驅動器

在Linux中自動掛載LUKS加密設備

Sidebar