Linux下磁碟加密——luks LUKS(Linux Unified Key Setup)為Linux硬碟加密提供了一種標準,它不僅能通用於不同的Linux發行版本,還支援多使用者/口令。因為它的加密金鑰獨立於口令,所以如果口令失密,我們可以迅速改變口令而無需重新加密真箇硬碟。通過提供一個標準的磁碟上的格式,它不僅方便之間分布的相容性,而且還提供了多個使用者密碼的安全管理。必須首先對加密的卷進行解密,才能掛載其中的檔案系統。 www.2cto.com 工具:cryptsetup(預設已經安裝)常用參數:luksFormat、luksOpen、luksClose、luksAddKey 使用cryptsetup對分區進行了加密後,這個分區就不再允許直接掛載。LUKS也是一種基於device mapper 機制的加密方案。如果要使用這個分區,必須對這個分區做一個映射,映射到/dev/mapper這個目錄裡去,我們只能掛載這個映射才能使用。然而做映射的時候是需要輸入解密密碼的。 Crypsetup工具加密的特點:Ø 加密後不能直接掛載Ø 加密後硬碟丟失也不用擔心資料被盜Ø 加密後必須做映射才能掛載 步驟:1. 建立分區並加密分區2. 映射分區3. 格式化分區並掛載使用4. 關閉映射分區 建立一個磁碟分割/dev/sdb1,不進行格式化1、 加密分區 www.2cto.com # cryptsetup -v -y -c aes-cbc-plain luksFormat /dev/sdb1 WARNING!========This will overwrite data on /dev/sdb1 irrevocably. Are you sure? (Type uppercase yes): YES --> 注意這裡必須是大寫的YESEnter LUKS passphrase:Verify passphrase:Command successful.# 2、 映射分區# cryptsetup luksOpen /dev/sdb1 sx_disk //把sdb1映射為sx_diskEnter passphrase for /dev/sdb1:# ll -d /dev/mapper/sx_disklrwxrwxrwx. 1 root root 7 6月 25 03:24 /dev/mapper/sx_disk -> ../dm-0# cryptsetup status /dev/mapper/sx_disk //查看映射分區狀態/dev/mapper//dev/mapper/sx_disk is active. type: LUKS1 cipher: aes-cbc-plain keysize: 256 bits device: /dev/sdb1 offset: 4096 sectors size: 16767701 sectors mode: read/write# www.2cto.com 3、掛載使用# mkdir /mnt/sx_disk# mkfs.ext3 /dev/mapper/sx_disk# mount /dev/sdb1 /mnt/sx_disk/ //直接掛載是不可以的mount: unknown filesystem type 'crypto_LUKS'# mount /dev/mapper/sx_disk /mnt/sx_disk/ //掛載映射裝置,掛載成功 4、關閉映射,先卸載後關閉# umount /mnt/sx_disk/# cryptsetup luksClose sx_disk //關閉映射# ll /dev/mapper/ //映射裝置已經不見了總用量 0crw-rw----. 1 root root 10, 58 6月 25 03:01 control# 5、設定開機自動掛載產生密鑰檔案,如果想開機時手動輸入密碼可以不產生# touch /root/cryptpasswd# cryptsetup luksAddKey /dev/sdb1 /root/cryptpasswdEnter any passphrase:# cat /root/cryptpasswd //直接查看密鑰為空白 # www.2cto.com 設定開機啟動# vim /etc/crypttab# cat /etc/crypttabsx_disk /dev/sdb1 /root/cryptpasswd//sx_disk為映射名稱,/dev/sdb1是加密裝置裝置,/root/cryptpasswd為密碼檔案,如果想開機手動輸入密碼,密碼檔案處空著即可# vim /etc/fstab# tail -1 /etc/fstab/dev/mapper/sx_disk /mnt/sx_disk ext4 defaults 0 0# 作者 kumu_Linux