Luks
如何阻止 cryptsetup luksFormat 在加密設備上創建 luks 標頭?
我正在嘗試設置一個分區,並且我正在嘗試將 luks 標頭放在 USB 設備上,因此我使用了參數
--header /path/to/usb-device
,但是我仍然能夠在沒有安裝 USB 設備的情況下解密設備。如何阻止 cryptsetup 在加密設備上創建 luks 標頭?
您一定在某處使用了錯誤的命令…
cryptsetup
不會在整個地方肆意創建 LUKS 標頭…它只會執行您告訴它的操作,並且通常會在這樣做之前要求確認。例子:
# truncate -s 8M luksheader luksdevice # cryptsetup luksFormat --header luksheader luksdevice WARNING! ======== This will overwrite data on luksheader irrevocably. Are you sure? (Type uppercase yes): YES Enter passphrase: Verify passphrase: # file -s luks* luksdevice: data luksheader: LUKS encrypted file, ver 1 [aes, xts-plain64, sha256] UUID: …
如您所見,之後 luksdevice 上沒有 LUKS 標頭。如果有,那麼它之前就已經存在了。
您也可以
luksFormat
直接只使用外部設備/文件,而無需指定“加密設備”(僅在 上才真正重要luksOpen
)。簡化範例:
# cryptsetup luksFormat luksheader
這幾乎等同於上面更複雜的命令,唯一的區別在於
Payload offset
您可以在luksDump
. 如果標頭最初是作為外部標頭創建的,則此偏移量應為0
,否則類似於4096
(2 MiB) 。如果您願意,任何 LUKS 標頭都可以用作外部標頭,並且保持
Payload offset
原樣有其優勢。如果您決定更改設置,您只需將外部接頭放回原始設備(反之亦然,切換到現有設備的外部接頭)。