【Linux】使用cryptsetup加密磁盘 策略为LUKS

LUKS(Linux Unified Key Setup)为Linux硬盘分区加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令。因为它的加密密钥独立于口令,所以如果口令失密,我们可以迅速改变口令而无需重新加密真个硬盘。通过提供一个标准的磁盘上的格式,它不仅方便之间分布的兼容性,而且还提供了多个用户密码的安全管理。必须首先对加密的卷进行解密,才能挂载其中的文件系统。

工具:cryptsetup(默认已经安装)

常用参数:luksFormat、luksOpen、luksClose、luksAddKey

使用cryptsetup对分区进行了加密后,这个分区就不再允许直接挂载。LUKS也是一种基于device mapper 机制的加密方案。如果要使用这个分区,必须对这个分区做一个映射,映射到/dev/mapper这个目录里去,我们只能挂载这个映射才能使用。然而做映射的时候是需要输入解密密码的。

注:要解除加密需要备份分区内的文件再重新格式化LUKS分区

Crypsetup工具加密的特点:

Ø加密后不能直接挂载

Ø加密后硬盘丢失也不用担心数据被盗

Ø加密后必须做映射才能挂载

 
  1. 格式化LUKS分区 
  2. [root@rhel6 ~]# cryptsetup luksFormat /dev/vda8                     //将分区进行LUKS格式(变成LUKS分区) 
  3. WARNING! 
  4. ======== 
  5. This will overwrite data on /dev/vda8 irrevocably. 
  6. Are you sure? (Type uppercase yes): YES                      //输入大写的YES 
  7. Enter LUKS passphrase:                                   //输入两次密码 
  8. Verify passphrase:  
  9. 映射分区 
  10. [root@rhel6 ~]# cryptsetup luksOpen /dev/vda8 luks_test             //打开LUKS分区,将在/dev/mapper/目录中生成一个luks_test的文件 
  11. Enter passphrase for /dev/vda8:                                   //必须输入luks密码才能打开LUKS分区 
  12. 格式化、挂载、使用分区 
  13. [root@rhel6 ~]# mkfs.ext4 /dev/mapper/luks_test  
  14. [root@rhel6 ~]# mount /dev/mapper/luks_test /luks/ 
  15. 关闭映射,先卸载后关闭 
  16. [root@rhel6 ~]# umount /luks/ 
  17. [root@rhel6 ~]# cryptsetup luksClose luks_test                      //关闭LUKS分区 
  18. [root@rhel6 ~]# mount /dev/vda8 /luks/                           //无法直接挂载/dev/vda8分区 
  19. mount: unknown filesystem type 'crypto_LUKS' 
  20. 实现开机自动挂载LUKS分区: 
  21. [root@rhel6 ~]# dd if=/dev/urandom of=keyfile bs=1k count=4 
  22. 4+0 records in 
  23. 4+0 records out 
  24. 4096 bytes (4.1 kB) copied, 0.00206882 s, 2.0 MB/s 
  25. [root@rhel6 ~]# cryptsetup luksAddKey /dev/vda8 keyfile 
  26. Enter any passphrase:  
  27. [root@rhel6 ~]# vi /etc/crypttab  
  28. name    /dev/vda8       /root/keyfile   luks 
  29. [root@rhel6 ~]# vi /etc/fstab
  30. /dev/mapper/name        /luks                   ext4    _netdev         0 0 
  31. 添加/移除/修改LUKS密码 
  32. [root@rhel6 ~]# cryptsetup luksAddKey /dev/vda8 
  33. Enter any passphrase:  
  34. Enter new passphrase for key slot:  
  35. Verify passphrase:  
  36. [root@rhel6 ~]# cryptsetup luksRemoveKey /dev/vda8 
  37. Enter LUKS passphrase to be deleted:  
  38. [root@rhel6 ~]# cryptsetup luksAddKey /dev/vda8 keyfile 
  39. Enter any passphrase:  

这里只是移除密码,并不是取消加密,如果想把磁盘取消加密的话,只能重新格式化,重新分区,否则是无法挂在的

这里是我删除了key之后的,想再次映射,结果就报错了

[root@testCentOS6 mapper]# cryptsetup luksOpen /dev/sdb  ceshi_2
Enter passphrase for /dev/sdb: 
No key available with this passphrase.
Enter passphrase for /dev/sdb: 

转自:Linux下的磁盘加密LUKS_Vnimos的技术博客_51CTO博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值