在 Linux 上創(chuàng)建一個加密文件保險庫
使用 Linux 統(tǒng)一密鑰設(shè)置(LUKS)為物理驅(qū)動器或云存儲上的敏感文件創(chuàng)建一個加密保險庫。
最近,我演示了如何在 Linux 上使用統(tǒng)一密鑰設(shè)置(LUKS)和 cryptsetup
命令 實現(xiàn)全盤加密。雖然加密整個硬盤在很多情況下是有用的,但也有一些原因讓你不想對整個硬盤進(jìn)行加密。例如,你可能需要讓一個硬盤在多個平臺上工作,其中一些平臺可能沒有集成 LUKS。此外,現(xiàn)在是 21 世紀(jì),由于云的存在,你可能不會使用物理硬盤來處理所有的數(shù)據(jù)。
幾年前,有一個名為 TrueCrypt 的系統(tǒng),允許用戶創(chuàng)建加密的文件保險庫,可以通過 TrueCrypt 解密來提供讀/寫訪問。這是一項有用的技術(shù),基本上提供了一個虛擬的便攜式、完全加密的驅(qū)動器,你可以在那里存儲重要數(shù)據(jù)。TrueCrypt 項目關(guān)閉了,但它可以作為一個有趣的模型。
幸運的是,LUKS 是一個靈活的系統(tǒng),你可以使用它和 cryptsetup
在一個獨立的文件中創(chuàng)建一個加密保險庫,你可以將其保存在物理驅(qū)動器或云存儲中。
下面就來介紹一下怎么做。
1、建立一個空文件
首先,你必須創(chuàng)建一個預(yù)定大小的空文件。就像是一種保險庫或保險箱,你可以在其中存儲其他文件。你使用的命令是 util-linux
軟件包中的 fallocate
:
$ fallocate --length 512M vaultfile.img
這個例子創(chuàng)建了一個 512MB 的文件,但你可以把你的文件做成任何你想要的大小。
2、創(chuàng)建一個 LUKS 卷
接下來,在空文件中創(chuàng)建一個 LUKS 卷:
$ cryptsetup --verify-passphrase \
luksFormat vaultfile.img
3、打開 LUKS 卷
要想創(chuàng)建一個可以存儲文件的文件系統(tǒng),必須先打開 LUKS 卷,并將其掛載到電腦上:
$ sudo cryptsetup open \
--type luks vaultfile.img myvault
$ ls /dev/mapper
myvault
4、建立一個文件系統(tǒng)
在你打開的保險庫中建立一個文件系統(tǒng):
$ sudo mkfs.ext4 -L myvault /dev/mapper/myvault
如果你現(xiàn)在不需要它做什么,你可以關(guān)閉它:
$ sudo cryptsetup close myvault
5、開始使用你的加密保險庫
現(xiàn)在一切都設(shè)置好了,你可以在任何需要存儲或訪問私人數(shù)據(jù)的時候使用你的加密文件庫。要訪問你的保險庫,必須將其掛載為一個可用的文件系統(tǒng):
$ sudo cryptsetup open \
--type luks vaultfile.img myvault
$ ls /dev/mapper
myvault
$ sudo mkdir /myvault
$ sudo mount /dev/mapper/myvault /myvault
這個例子用 cryptsetup
打開保險庫,然后把保險庫從 /dev/mapper
下掛載到一個叫 /myvault
的新目錄。和 Linux 上的任何卷一樣,你可以把 LUKS 卷掛載到任何你想掛載的地方,所以除了 /myvault
,你可以用 /mnt
或 ~/myvault
或任何你喜歡的位置。
當(dāng)它被掛載后,你的 LUKS 卷就會被解密。你可以像讀取和寫入文件一樣讀取和寫入它,就像它是一個物理驅(qū)動器一樣。
當(dāng)使用完你的加密保險庫時,請卸載并關(guān)閉它:
$ sudo umount /myvault
$ sudo cryptsetup close myvault
加密的文件保險庫
你用 LUKS 加密的鏡像文件和其他文件一樣,都是可移動的,因此你可以將你的保險庫存儲在硬盤、外置硬盤,甚至是互聯(lián)網(wǎng)上。只要你可以使用 LUKS,就可以解密、掛載和使用它來保證你的數(shù)據(jù)安全。輕松加密,提高數(shù)據(jù)安全性,不妨一試。