以下將把一個 USB 隨身碟透過 dm-crypt 將整個分區給加密。
分割區設定
A. 透過 lsblk
找出 USB 隨身碟的 device name
1 2 3 4 5 6 7 8 9 10 |
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk3 8:0 1 28.7G 0 disk mmcblk2 179:0 0 58.2G 0 disk ├─mmcblk2p1 179:1 0 128M 0 part /boot └─mmcblk2p2 179:2 0 58.1G 0 part └─cryptroot 253:0 0 58.1G 0 crypt / mmcblk2boot0 179:32 0 4M 1 disk mmcblk2boot1 179:64 0 4M 1 disk |
這邊找出 mmcblk3
為隨身碟的 device name.
A. 使用預設的加密選項為 USB 設定 LUKS header。將 device 替換為剛剛的 device name。
1 |
cryptsetup luksFormat device |
以 mmcblk3
為例:
1 |
cryptsetup luksFormat /dev/mmcblk3 |
B. 將加密分區解鎖,透過 device mapper 映射到 virtual block device (/dev/mapper/<name>
):
1 |
cryptsetup open device name |
以 mmcblk3
映射到 cryptroot
為例:
1 |
cryptsetup open /dev/mmcblk3 cryptroot |
C. 選擇想使用的檔案系統後 (這邊以 ext4
為例) ,將映射分區格式化:
1 |
mkfs.ext4 /dev/mapper/cryptroot |
裝載/卸載隨身碟
裝載
1 2 |
cryptsetup open /dev/mmcblk3 cryptroot udisksutl mount –b /dev/mapper/cryptroot |
卸載
1 2 |
umount /your/mount/path cryptsetup close /dev/mapper/cryptroot |
Keyfile
1 2 3 |
dd bs=512 count=4 if=/dev/random of=cryptusbbackup.keyfile iflag=fullblock sudo cryptsetup luksAddKey /dev/sdb2 cryptusbbackup.keyfile sudo mkfs.ext4 /dev/mapper/luks–...... |
Leave a Reply