如何用dm-crypt加密Linux上的分區(qū)?
譯文【51CTO.com快譯】硬盤和SSD很容易從筆記本或臺式機(jī)上拆下來。這種情況下,操作系統(tǒng)實(shí)施的所有安全措施都蕩然無存。如果你有數(shù)據(jù)要保護(hù),可以創(chuàng)建加密容器,將敏感文件保存在那里,而將非敏感文件保存在普通分區(qū)上。
安裝Linux發(fā)行版時,創(chuàng)建加密分區(qū)極為容易。安裝程序可以指導(dǎo)你完成此操作。但如果你錯過了這個機(jī)會,可按照本文中的步驟創(chuàng)建秘密保險庫。
先決條件
需要一個空白分區(qū)完成此過程,也就是上面沒有文件系統(tǒng)的未格式化分區(qū)。
如果格式化的分區(qū)目前占據(jù)你存儲設(shè)備上的所有可用空間,需要使用GParted縮小其中一個分區(qū)。
警告:先備份數(shù)據(jù)是明智之舉。縮小分區(qū)及文件系統(tǒng)時,可能存在小小的風(fēng)險。計算機(jī)在此過程中可能崩潰或斷電。這可能導(dǎo)致文件系統(tǒng)處于不一致的狀態(tài),因而很難恢復(fù)。
遵照本文的頭幾步用GParted調(diào)整分區(qū)大小?;蛘呷绻袀€分區(qū)再也用不著,可以刪除它。(釋放一些空間、它顯示為“未分配”后,跳過本文中的其余步驟。)具體來說,別創(chuàng)建格式為ext4的分區(qū),而是鼠標(biāo)右擊未分配的空間,如圖所示。在打開的對話窗口中,你會看到標(biāo)有“文件系統(tǒng)”的字段。通常,ext4在這里被選擇為默認(rèn)文件系統(tǒng)。點(diǎn)擊并更改成“cleared”。
圖1
選擇“Add”后,點(diǎn)擊綠色打勾符號,讓更改生效。
安裝cryptsetup
如果你啟動實(shí)時操作系統(tǒng)以便用GParted編輯分區(qū),請重啟回到主Linux發(fā)行版。
打開終端模擬器。在基于Debian的系統(tǒng)上,比如Ubuntu或Linux Mint,輸入該命令:
- sudo apt update && sudo apt install cryptsetup
圖2
在Fedora或CentOS等發(fā)行版和使用RPM軟件包而不是DEB的其他發(fā)行版上, cryptsetup可能早已安裝。如果還沒有安裝,可以使用該命令來安裝:
- sudo yum install cryptsetup
在OpenSUSE上,如果cryptsetup之前沒有安裝,可以使用該命令來安裝:
- sudo zypper refresh && sudo zypper install cryptsetup
在基于Arch的發(fā)行版上,可以使用該命令:
- sudo pacman -S cryptsetup
查找分區(qū)的塊設(shè)備名稱
輸入下列命令:
- lsblk
圖3
在圖中提供的示例中,存儲設(shè)備是“vda”。“vda1”到“vda3”是分區(qū)。
想找到你準(zhǔn)備好的分區(qū),記住為其保留的大小。你會在沒有掛載點(diǎn)(mountpoint)的分區(qū)中找到它。以你的情況為例,它可能是“/dev/sda2”,而不是“/dev/vda3”。
加密分區(qū)將覆蓋上面的數(shù)據(jù)(如果有的話),這意味著如果你搞錯了設(shè)備名稱,最終可能破壞有用的數(shù)據(jù)。想確保設(shè)備名稱無誤,可以安裝GParted,查看分區(qū)布局。設(shè)備名稱會在圖形用戶界面中列出來。從實(shí)時系統(tǒng)啟動時,別使用你在GParted中看到的名稱。實(shí)時系統(tǒng)中顯示的布局與你從安裝的發(fā)行版引導(dǎo)時看到的布局會不一樣。
還有另一種方法可以確保你不會寫錯到塊設(shè)備上。試著掛載塊設(shè)備。通常,它會拒絕掛載,因?yàn)樗厦鏇]有文件系統(tǒng)。
重要提示:請記住始終將“vda3”換成你設(shè)備的名稱:
- sudo mount /dev/vda3 /mnt
以你的情況為例,該命令可能是sudo mount /dev/sda2 /mnt或別的命令。
這是你應(yīng)該看到的信息。
圖4
設(shè)置LUKS標(biāo)頭
一旦你確信有了正確的設(shè)備名稱,可以為分區(qū)添加LUKS標(biāo)頭。
- sudo cryptsetup luksFormat /dev/vda3
鍵入“YES”,然后為加密分區(qū)選擇一個強(qiáng)密碼。要求驗(yàn)證密碼時,請鍵入相同的密碼。
在分區(qū)上創(chuàng)建文件系統(tǒng)
你要將該物理設(shè)備映射到虛擬設(shè)備。寫入到虛擬設(shè)備上的內(nèi)容先經(jīng)過加密,之后存儲到物理設(shè)備上。
- sudo cryptsetup luksOpen /dev/vda3 encrypted-partition
分區(qū)需要文件系統(tǒng)才有用。使用該命令創(chuàng)建一個ext4文件系統(tǒng):
- sudo mkfs.ext4 /dev/mapper/encrypted-partition
圖5
掛載加密分區(qū)
創(chuàng)建你將從分區(qū)掛載文件系統(tǒng)的目錄。
- mkdir ~/encrypted-storage
掛載文件系統(tǒng):
- sudo mount /dev/mapper/encrypted-partition ~/encrypted-storage
更改到該目錄:
- cd ~/encrypted-storage
眼下,只有root用戶可以在這里寫入。為你的用戶授予寫入到該文件系統(tǒng)的權(quán)限,因此讓它成為上層目錄的所有者??截愓迟N整個命令,包括末尾的“.”。
- sudo chown $USER:$USER .
限制其他用戶讀取或?qū)懙皆撃夸洝?nbsp;
- chmod o= .
這時,大多數(shù)文件管理器應(yīng)該在界面中顯示新的加密設(shè)備。這顯示了它在Thunar文件管理器中的樣子,這是XFCE桌面環(huán)境中使用的默認(rèn)文件管理器。
圖6
如果卷未掛載,你點(diǎn)擊它時會要求你輸入卷密碼和sudo密碼。卷會自動掛載,你就能夠?yàn)g覽它。掛載點(diǎn)與“~/encrypted-storage”會不一樣,它可能類似“/media/user/f42f3025-755d-4a71-95e0-37eaeb761730/”。
這不重要;你之前設(shè)置的權(quán)限仍然適用。重要的是記住完成卷的使用后鼠標(biāo)右擊并卸載。卸載和關(guān)閉虛擬設(shè)備可確保沒人可以從加密分區(qū)讀取數(shù)據(jù),甚至從操作系統(tǒng)讀取數(shù)據(jù)。
如果由于某種原因,你的文件管理器不支持該功能,可以從終端掛載。
- sudo cryptsetup luksOpen /dev/vda3 encrypted-partition
- sudo mount /dev/mapper/encrypted-partition ~/encrypted-storage
現(xiàn)在你可以進(jìn)入到文件管理器中的“/home/username/encrypted-storage”來訪問該卷。訪問完后,掛載文件系統(tǒng)并關(guān)閉虛擬設(shè)備:
- cd && sudo umount /dev/mapper/encrypted-partition
- sudo cryptsetup luksClose /dev/mapper/encrypted-partition
結(jié)論
現(xiàn)在你有了保存重要文件的保險箱。你大可放心,因?yàn)闆]人能看到你保存在里面的內(nèi)容。
原文標(biāo)題:How to Encrypt Your Partitions on Linux with dm-crypt,作者:Alexandru Andrei
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】