这个是对分区进行加密,而并不是对文系统件进行加密。
不能对分区里已有数据的分区进行加密,若对已存在数据的分区进行加密的话,数据就会丢失。所以,第一次分完区以后就要对分区进行加密,若里面已有数据的话,那么就要先把数据转移出来,然后才能对分区进行加密。(一个分区不能在不连续的空间里)
分完区后先不要格式化的,先对分区进行加密。
cryptsetupluksFormat /dev/sda5
这里还有一个警告,说是你这样做会覆盖sda5里面的数据
(注意:这里必须是大写的YES才行。我这里的密码为:redhat)
在这之后还不能挂载使用,它会提示说这是一个无效的文件系统,所以要映射成一个虚拟的设备才能使用。
(注意区分大小写,这里是要把/dev/sda5打开,并映射名字成redhat1,将来我们要使用的就是这个虚拟的映射盘,当然挂载也是这个名字为redhat1:名字最好表带数字的,会有问题,我这里改成red了)
这里变会多出一个多路径设备,当我们用的时候是用的这个设备。
我们接着在继续格式化我们的设备:mkfs.ext4 /dev/mapper/red
这样,我们的设备就是挂载正常使用而不会报错了。mount /dev/mapper/red /disk/
假若你不想用了,也不想被别人看见,那首先卸载掉它,然后再锁上,这样别人就不用使用它了。
umount /disk/
cryptsetupluksClose /dev/mapper/red
使用的时候再次打开它:cryptsetupluksOpen /dev/sda5 red 然后输入你的密码即可。
只要不是开机自动挂载,那么重新启动后是可以正常开机的。
若设置开机自动挂载后(只写进fstab里),会让你输入密码进入系统,这时你可以ctrl+c便可以中断进入已加密的分区了,只进入不加密的分区。
开机自动挂载,但需要输入密码(锁定以后cryptsetup luksClose /dev/mapper/red):
前面是映射的虚拟盘名字,后面是你的设备
cat /etc/fstab
若要实现开机自动挂载,并且自己让它输入密码进入系统也是可以的
接着:mkdir /crypt
ddif=/dev/urandom of=/crypt/file1 bs=4096 count=1 (从/dev/urandom文件里复制到/crypt/file1文件中的4k左右的大小)
/crypt/file1文件里已全是乱码文件。
chmod 600/crypt/file1
cryptsetupluksAddKey /dev/sda5 /crypt/file1 (然后输入密码redhat原来我设置过的那个)
它把 luksAddKey (密钥)加入到sda5的分区里了,用密钥当密码来使用。
[root@desktop59 ~]# cat /etc/crypttab
redhat /dev/sda5 /crypt/file1
启动的时候它就会读取这个文件,而不再输入密码了。
这么做可以防止移动硬盘的话被别人拿走。在本机可以,但去别的机子上就不行了。
假若别人把你的公私钥改过后,它就会进不去了,但没有了非对称公私钥加密后,可以通过密码的认证方式去验证也是可以的。
本文转自silence博客51CTO博客,原文链接http://blog.51cto.com/silencezone/1688677如需转载请自行联系原作者
a120518129