工具:cryptsetup。
cryptsetup是linux下得一个分区加密工具,是在经过加密的块设备上再创建文件系统,然后再进行挂载使用,可以达到最底层的加密。
假设所要加密分区为sdc1 ,加密密码为123456 。
1. 加密:
#cryptsetup luksFormat /dev/sdc1 #设置sdc1 为加密分区,会提问是否确定。
WARNING!Are you sure?(Type uppercase yes): YES #此时必须填 大写 “YES”,才能进一步操作
EnterLUKS passphrase: 123456 #回车后会让你设置加密密码,例如:123456
Verifypassphrase:123456 #确认密码
2.映射:
#cryptsetup luksOpen /dev/sdc1 disk1 #将分区映射成disk1,自动在/dev/mapper中。
#(disk1仅是代号可以随便取名)
3.格式化:
#mkfs.ext4 /dev/mapper/disk1 #格式化加密分区
4.挂载:
#mount /dev/mapper/disk1 /opt #挂载加密分区
#df -Th #此时可以查看到,加密的分区已挂载上了
测试: #cp /etc/passwd /opt #复制文件过去
#umount /dev/mapper/disk1 #卸载分区
#cryptsetup luksClose /dev/mappper/disk1 #关闭加密分区
比如你的硬盘被别人拿走了,然后人家想要挂载看你的硬盘资料,
如:该磁盘上刚考过来的passwd.
#mount /dev/sdc1 /mnt
mount:unknown filesystem type 'crypto_LUKS'
#会发现普通方式无法挂载哦,
#必须cryptsetup 方式输入密码解密挂载。步骤2~4
所以如果你每次开机要使用这块加了密的硬盘都要解密一下,是不是很麻烦呢?
所以我们有了
5.生成密码文件,实现开机自动挂载:
#vim /etc/crypttab
写入:disk1 /dev/sdc1 /root/key
#echo -n"123456" > /root/key #生成密码文件
#chmod 700 /root/key #修改权限,这样这个密码文件就只有文件所有者有权限了
#虽然是明文,并不是最安全的,但这里不是重点
#cryptsetup luksAddkey /dev/sdc1 /root/key #添加口令,到sdc1中去
#vim /etc/fstab #最后修改开机自动挂载配置文件fstab
在其中添加一行
/dev/mapper/disk1 /opt ext4 defaults 0 0