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:

转自:http://blog.51cto.com/vnimos/1175883

【Linux】使用cryptsetup加密磁盘 策略为LUKS的更多相关文章

  1. 用luks方式对磁盘进行加密以及加密磁盘的自动挂载

    1.关于luks加密 LUKS(Linux Unified Key Setup)为Linux硬盘分区加密提供了一种标准,它不仅能通用于不同的 Linux发行版本,还支持多用户/口令.因为它的加密密钥独 ...

  2. dm-crypt加密磁盘

    dm-cry加密方式密码与文件 与其它创建加密文件系统的方法相比,dm-crypt系统有着无可比拟的优越性:它的速度更快,易用性更强.除此之外,它的适用面也很广,能够运行在各种块设备上,即使这些设备使 ...

  3. Linux Shell之监测磁盘空间

    Linux Shell之监测磁盘空间 系统管理员的另一个重要任务就是监测系统磁盘的使用情况.不管运行的是简单Linux台式机还是大型的Linux服务器,我们都要知道还有多少空间可以留给应用程序.事实上 ...

  4. kvm上的Linux虚拟机使用virtio磁盘

    kvm上的Linux虚拟机使用virtio磁盘 系统:centos6.6  64位 网上的文章比较少,怎麽将Linux虚拟机的磁盘改为使用virtio磁盘 因为centos6或以上系统已经包含了vir ...

  5. Linux学习之路—磁盘分区

    1.各硬件设备在Linux中的文件名 在Linux系统中,每个设备都被当做一个文件来对待,同时在Linux系统中,几乎所有的硬件设备文件都在/dev这个目录中. 设备 设备在Linux内的文件名 ID ...

  6. Linux基础1之磁盘与分区

    Linux上面设备皆文件,目前需要知道的,比如U盘和SARA硬盘的在Linux上面的文件名,/dev/sd[a-p].与IDE接口不同的是,SATA/USB接口的磁盘没有一定的顺序,这里就根据Linu ...

  7. linux使用FIO测试磁盘的iops 【转载】

     linux使用FIO测试磁盘的iops 2013-09-23 10:59:21 分类: LINUX FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括 ...

  8. linux性能优化cpu 磁盘IO MEM

    系统优化是一项复杂.繁琐.长期的工作,优化前需要监测.采集.测试.评估,优化后也需要测试.采集.评估.监测,而且是一个长期和持续的过程,不 是说现在优化了,测试了,以后就可以一劳永逸了,也不是说书本上 ...

  9. Linux系统格式化新磁盘并挂载分区

    Linux系统格式化新磁盘并挂载分区 在虚拟机的设置界面中,我们可以选择添加硬盘 添加好硬盘后,我们输入命令fdisk -l 看到有一个未经分区的硬盘 Fdisk命令编辑这个硬盘 输入n创建分区,p选 ...

随机推荐

  1. C++ 虚函数表与多态 —— 关键字 override 的用法

    override 仅能用于虚函数,他属于C++新特性,是重写覆盖的意思,他的存在仅仅是为了提高代码的可阅读性: 作用: 1. 提示程序的阅读者,这个函数是重写父类的功能. 2. 防止程序员在重写父类的 ...

  2. KafkaMirrorMaker 的不足以及一些改进

    背景 某系统使用 Kafka 存储实时的行情数据,为了保证数据的实时性,需要在多地机房维护多个 Kafka 集群,并将行情数据同步到这些集群上. 一个常用的方案就是官方提供的 KafkaMirrorM ...

  3. html 10-HTML基础回顾

    10-HTML基础回顾 #本文主要内容 html 的常见元素 html 元素的分类 html 元素的嵌套关系 html 元素的默认样式和 CSS Reset html 常见面试题 #html 的常见元 ...

  4. cmd.exe解释器漏洞

    安全研究员Julian Horoszkiewicz发现了cmd.exe命令行解释器中的漏洞,该漏洞允许执行任意命令. 在寻找新的攻击媒介以允许Windows中注入命令时,Khoroshkevich发现 ...

  5. PHP可变变量特性

    可变变量 有时候使用可变变量名是很方便的.就是说,一个变量的变量名可以动态的设置和使用.一个普通的变量通过声明来设置,例如: <?php$a = 'hello';?> 一个可变变量获取了一 ...

  6. EF5中使用UnitOfWork

    前言 每次提交数据库都会打开一个连接,造成结果是:多个连接无法共用一个数据库级别的事务,也就无法保证数据的原子性.一致性. 解决办法是:在ObjectContext的CRUD操作基础上再包装一层,提供 ...

  7. MySQL管理基础

    #1.数据库连接管理 mysql命令说明 第一个功能:连接数据库(在前面mysql命令的使用里面讲解了,这里就不讲解了) 第二个功能:mysql客户端自带的命令功能 mysql命令的使用(mysql ...

  8. MySQL误删除用户怎么解决

    前言:在不考虑到原来用户对关联数据库的授权问题的情况下,有以下两种思路解决 #1.安全模式修改 第一步:关闭数据库服务: [root@db01 ~]#/etc/init.d/mysqld stop 第 ...

  9. 【命令】top命令

    功用: <---实时动态地查看系统的整体运行情况,两个命令都是查看运行状况,但是htop更加易用---> TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命 ...

  10. Excel-RANK函数排名与拓展

    问题场景 需求不同根据总分出排名(从大到小100分.100分.99分.98分.97分),排名需求: 第一种排名:第1名,第2名,第3名,第4名,第5名: 第二种排名:第1名,第1名,第3名,第4名,第 ...