在 Linux 上使用 eCryptFS 加密文件和目錄
eCrypFS是一個基於FUSE的用戶空間加密文件系統,在Linux內核2.6.19及更高版本中可用(作為encryptfs模塊)。eCryptFS加密的偽文件系統是掛載到當前文件系統頂部的。它可以很好地工作在EXT文件系統家族和其它文件系統如JFS、XFS、ReiserFS、Btrfs,甚至是NFS/CIFS共享文件系統上。Ubuntu使用eCryptFS作為加密其家目錄的默認方法,ChromeOS也是。在eCryptFS底層,默認使用的是AES演算法,但是它也支持其它演算法,如blowfish、des3、cast5、cast6。如果你是通過手工創建eCryptFS設置,你可以選擇其中一種演算法。
就像我所的,Ubuntu讓我們在安裝過程中選擇是否加密/home目錄。好吧,這是使用eCryptFS的最簡單的一種方法。
Ubuntu提供了一個用戶友好的工具集,通過eCryptFS可以讓我們的生活更輕鬆,但是在Ubuntu安裝過程中啟用eCryptFS只創建了一個指定的預配置的設置。所以,如果默認的設置不適合你的需求,你需要進行手工設置。在本教程中,我將介紹如何在主流Linux發行版上手工設置eCryptFS。
eCryptFS的安裝
Debian,Ubuntu或其衍生版:
$ sudo apt-get install ecryptfs-utils
注意,如果你在Ubuntu安裝過程中選擇加密家目錄,eCryptFS應該已經安裝了。
CentOS, RHEL or Fedora:
# yum install ecryptfs-utils
Arch Linux:
$ sudo pacman -S ecryptfs-utils
在安裝完包後,載入eCryptFS內核模塊當然會是一個很好的實踐:
$ sudo modprobe ecryptfs
配置eCryptFS
現在,讓我們開始加密一些目錄,運行eCryptFS配置工具:
$ ecryptfs-setup-private
它會要求你輸入登錄密碼和掛載密碼。登錄密碼和你常規登錄的密碼一樣,而掛載密碼用於派生一個文件加密主密鑰。這裡留空可以生成一個(複雜的),這樣會更安全。登出然後重新登錄。
你會注意到,eCryptFS默認在你的家目錄中創建了兩個目錄:Private和.Private。~/.Private目錄包含有加密的數據,而你可以在~/Private目錄中訪問到相應的解密後的數據。在你登錄時,~/.Private目錄會自動解密並映射到~/Private目錄,因此你可以訪問它。當你登出時,~/Private目錄會自動卸載,而~/Private目錄中的內容會加密回到~/.Private目錄。
eCryptFS怎麼會知道你擁有~/.Private目錄,並自動將其解密到~/Private目錄而不需要我們輸入密碼呢?這就是eCryptFS的PAM模塊搗的鬼,它為我們提供了這項便利服務。
如果你不想讓~/Private目錄在登錄時自動掛載,只需要在運行ecryptfs-setup-private工具時添加「--noautomount」選項。同樣,如果你不想要~/Private目錄在登出後自動卸載,也可以自動「--noautoumount」選項。但是,那樣後,你需要自己手工掛載或卸載~/Private目錄:
$ ecryptfs-mount-private ~/.Private ~/Private
$ ecryptfs-umount-private ~/Private
你可以來驗證一下.Private文件夾是否被掛載,運行:
$ mount
現在,我們可以開始把任何敏感文件放進~/Private文件夾裡頭了,它們會在我們登出時自動被加密並鎖在~/.Private文件內。
所有這一切看起來是那麼得神奇。這主要是ecryptfs-setup-private工具讓一切設置變得簡單。如果你想要深究一點,對eCryptFS指定的方面進行設置,那麼請轉到官方文檔。
結尾
綜上所述,如果你十分關注你的隱私,最好是將基於eCryptFS文件系統級別的加密和全盤加密相結合。切記,只進行文件加密並不能保證你的隱私不受侵犯。
via: http://xmodulo.com/encrypt-files-directories-ecryptfs-linux.html
作者:Christopher Valerio 譯者:GOLinux 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive