加密解密

RHEL6 cryptsetup磁盘分区加密

字号+ 作者:qianheng 来源: 2018-01-15 10:28:13 我要评论( ) 阅读:

今天为大家介绍RHEL6 cryptsetup磁盘分区加密,有需要的小伙伴参考一下,具体内容如下:LUKS是为Linux硬盘加密标准。通过提供一个标准的磁 ...

今天为大家介绍RHEL6 cryptsetup磁盘分区加密,有需要的小伙伴参考一下,具体内容如下:

LUKS是为Linux硬盘加密标准。通过提供一个标准的磁盘上的格式,它不仅方便之间分布的兼容性,而且还提供了多个用户密码的安全管理。必须首先对加密的卷进行解密,才能挂载其中的文件系统。

   系统加密:【工具:cryptsetup;常用参数:luksFormat、luksOpen、luksClose、luksAddKey】【涉及文件:/etc/crypttab;自己创建密码文件】

    注意:上述参数大小写不能乱用

    好了,来试试这个强大的工具吧~ 

一、划出一个分区进行测试(fdisk)

--->这里以我的机子为例,因为我把空间全做成lvm了,所以分区就不一样啦,我们取300M做实验吧。

[root@desktop21 Desktop]# vgdisplay  --- Volume group ---      
VG Name               vol0      System ID                  
 Format                lvm2      Metadata Areas        
 2      Metadata Sequence No  27      VG Access            
  read/write      VG Status             resizable      MAX LV                0      
  Cur LV                4      Open LV               3      Max PV              
    0      Cur PV                2      Act PV                2     
     VG Size               55.22 GiB      PE Size              
      32.00 MiB      Total PE              1767      Alloc PE / Size      
       928 / 29.00 GiB      Free  PE / Size       839 / 26.22 GiB 
       (还26G,够了吧,我只需要300M做实验)      VG UUID            
          ZAGsPK-tIBO-08bd-RoMp-fPeC-Ei5l-x3asx6        
           [root@desktop21 Desktop]# lvcreate -L 300M -n testlv /dev/vol0       
           Rounding up size to full physical extent 320.00 MiB      
           Logical volume "testlv" created
 --->ok,生成testlv分区,320M(跟PE有关)

二、分区加密(cryptsetup luksFormat,注意分区先不要格式化!)

[root@desktop21 Desktop]# cryptsetup luksFormat /dev/vol0/testlv          
WARNING!    ========    This will overwrite data on /dev/vol0/testlv irrevocably.      
Are you sure? (Type uppercase yes): YES (注意,只能是大写字母)    
Enter LUKS passphrase:  (输入密码)    
Verify passphrase:  (确认密码)

三、好了,密码创建好了,我们解密了把它格式化一下吧,格式化了才能挂载呀。(不解密的话是不能对它进行操作的)

1、[root@desktop21 Desktop]# cryptsetup luksOpen /dev/vol0/testlv testlv    
Enter passphrase for /dev/vol0/testlv:  (输入密码进行验证!)
--->注意,命令最后写了一个映射的设备名“testlv”,来看看吧
[root@desktop21 Desktop]# ll /dev/mapper/testlv  /dev/vol0/testlv     
lrwxrwxrwx. 1 root root 7 Aug  4 15:17 /dev/mapper/testlv -> ../dm-7    
lrwxrwxrwx. 1 root root 7 Aug  4 15:17 /dev/vol0/testlv -> ../dm-6
--->两个其实是同一个的。命令中必须得加上映射的名称,可以自己man一下cryptsetup
2、[root@desktop21 Desktop]# mkfs.ext4 /dev/mapper/testlv     
mke2fs 1.41.12 (17-May-2010)    Filesystem label=    OS type: Linux    
Block size=1024 (log=0)    Fragment size=1024 (log=0)    Stride=0 blocks, 
Stripe width=0 blocks    81600 inodes, 325632 blocks    16281 blocks (5.00%) 
reserved for the super user    First data block=1    
Maximum filesystem blocks=67633152    40 block groups    
8192 blocks per group, 8192 fragments per group    2040 inodes per group    
Superblock backups stored on blocks:      8193, 24577, 40961, 57345, 73729, 
204801, 221185         Writing inode tables: done                                
Creating journal (8192 blocks): done    Writing superblocks and filesystem accounting 
information: done         This filesystem will be automatically checked every 37 
mounts or    180 days, whichever comes first.  Use tune2fs -c or -i to override.
--->ok,很快就格式化好了,那就新建一个目录挂载吧!
3、[root@desktop21 Desktop]# mkdir /testlv    
[root@desktop21 Desktop]# mount /dev/mapper/testlv /testlv/    
[root@desktop21 Desktop]# df -h /testlv/    Filesystem            
Size  Used Avail Use% Mounted on    /dev/mapper/testlv    308M   11M  283M   4% 
/testlv    --->想要开机自动挂载?写道fstable里吧    [root@desktop21 Desktop]# vim 
/etc/fstab  (加上这一行)    /dev/mapper/testlv      /testlv                 ext4    
defaults        0 0

【就这样重启是不会挂载上的,为什么? 没有写入配置文件告诉系统我有加密分区。好,再继续测试】

 四、写配置文件,让系统知道

[root@desktop21 Desktop]# vim /etc/crypttab (加入这一行,具体分区自己改)    
testlv          /dev/sda5

--->保存退出,重启,怎么样要求你输入密码了吧。乱敲几个字符试试?不行,不能进去。

好了,输入正确的密码进去吧。

--->密码忘记了怎么办呢?没关系【ctrl+c】三次看看,^_^,不要求你输入了,进入系统~

--->df看一下,没挂载上吧?当然,你密码都没有输入,分区怎么会让你看到?

【注意:当你将该分区挂载成要备份检测时,即为1 2时,取消输入会出现错误,提示让你输入管理员密码进行维护,没关系,将新加进的一行注释掉再进去改吧】

 五、系统检测到了,但是钥输入密码呀,必须得有人敲入密码,有没有一劳永逸的,每次自动从文见获取我的密码?(这样数据就没起到保护作用了哦,很不安全的,建议不要这样)但还是来测试测试吧^_^

1、新建密码文件,路径随意啦,这里我新建了密码文件 /root/passlv

[root@desktop21 Desktop]# touch /root/passlv

2、修改配置文件,加入密码文件路径

[root@desktop21 Desktop]# vim /etc/crypttab (修改称这样,最后加入了密码文件的路径)
testlv          /dev/sda5       /root/passlv

3、执行命令,把密码写入到我的密码文件吧,修改权限,保证所属为root,且只有root可以读写

[root@desktop21 Desktop]# echo mypasswd >/root/passlv     
[root@desktop21 Desktop]# chown root /root/passlv     
[root@desktop21 Desktop]# chmod 600 /root/passlv     
[root@desktop21 Desktop]# cryptsetup luksAddKey /dev/vol0/testlv /root/passlv     
Enter any passphrase:  (输入之前密码)

--->注意这一步只能是对原分区进行密码生成,而不是映射路径 /dev/mapper/testlv,/etc/crypttab里边也必须是原分区。

--->我们看一下密码文件吧,对着吗?

[root@desktop21 Desktop]# cat /root/passlv     mypasswd

--->ok,重启,不再输入密码了,登录成功,df看一下吧,有了没?

 六、有问题了,密码明文的,还保密什么呀?干脆清空吧

[root@desktop21 Desktop]# echo >/root/passlv    
[root@desktop21 Desktop]# cat /root/passlv

 --->没问题,改了,再做一个命令吧

[root@desktop21 Desktop]# cryptsetup luksAddKey /dev/vol0/testlv /root/passlv     
Enter any passphrase:  (还是输入之前的密码)
--->看看密码文件?
[root@desktop21 Desktop]# cat /root/passlv

--->还是为空?管它呢,重启看看

--->竟然登录上了,没有输入密码?

--->呵呵,剩下的就自己测试吧。

【注意:为防止密码泄漏,可以在密码文件里写入任何内容,不会影响的。但是只要更改一次密码文件就必须执行一次命令cryptsetup luksAddKey,否则还是会出问题滴~】

以上就是今天本文的全部内容,希望对大家的学习和工作有所帮助,同时希望大家多多关注,谢谢!

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 如何破解Ubuntu磁盘加密和用户密码

    如何破解Ubuntu磁盘...

  • 如何破解Ubuntu磁盘加密和用户密码

    如何破解Ubuntu磁盘...