centos7使用luks对磁盘进行加密
一、简介
LUKS (Linux Unified Key Setup)是 Linux 硬盘加密的标准。 通过提供标准的磁盘格式,它不仅可以促进发行版之间的兼容性,还可以提供对多个用户密码的安全管理。
与现有解决方案相比,LUKS 将所有必要的设置信息存储在分区信息首部中,使用户能够无缝传输或迁移其数据。
二、安装命令行工具
[root@ldap01 ~]# yum install cryptsetup
[root@ldap01 ~]# cryptsetup --help
三、格式化LUKS 设备
[root@ldap01 ~]# cryptsetup luksFormat /dev/sdb #格式化一个 LUKS 设备,设备路径是/dev/sdb根据实际情况替换,注意格式化会删除所有数据
WARNING!
========
这将覆盖 /dev/sdb 上的数据,该动作不可取消。
Are you sure? (Type uppercase yes): YES #写入大写的YES
输入 /dev/sdb 的口令: #密码,也是Kickstart中--passphrase参数的值,不得小于8位
确认密码:
四、打开LUKS 设备
[root@ldap01 ~]# cryptsetup open /dev/sdb myluksdisk #打开一个LUKS设备,也可以使用cryptsetup luksOpen打开,luksOpen是旧命令
输入 /dev/sdb 的口令:
[root@ldap01 ~]# ll /dev/mapper/myluksdisk
[root@ldap01 ~]# mkfs.xfs /dev/mapper/myluksdisk #注意此处格式化的是逻辑设备地址
[root@ldap01 ~]# mount /dev/mapper/myluksdisk /mnt
[root@ldap01 ~]# mkdir /mnt/test #写入数据
五、关闭LUKS 设备
[root@ldap01 ~]# umount /mnt [root@ldap01 ~]# cryptsetup close /dev/mapper/myluksdisk
六、重新打开LUKS设备
[root@ldap01 ~]# cryptsetup open /dev/sdb myluksdisk2 #每次打开的名次可以不一样
输入 /dev/sdb 的口令:
[root@ldap01 ~]# mount /dev/mapper/myluksdisk2 /mnt
七、自动挂载LUKS 设备
[root@ldap01 ~]# dd if=/dev/urandom of=/etc/luks_password bs=4096 count=1
[root@ldap01 ~]# chmod 600 /etc/luks_password
[root@ldap01 ~]# cryptsetup luksAddKey /dev/sdb /etc/luks_password #向 LUKS 设备添加密钥,注意此处是块设备路径不是LUKS逻辑设置路径
输入任意已存在的口令:
[root@ldap01 ~]# cat /etc/crypttab #配置认证秘钥
myluksdisk2 /dev/sdb /etc/luks_password
[root@ldap01 ~]# tail -1 /etc/fstab #配置开机自动挂载
/dev/mapper/myluksdisk2 /mnt xfs defaults 1 0
[root@ldap01 ~]# reboot
八、Kickstart文件设置自动加密
Kickstart 添加 --encrypted --passphrase两个参数,passphrase值为明文 示例: part /boot --fstype="xfs" --size=300 --encrypted --passphrase=Qwer1234
参考链接:https://fedoraproject.org/wiki/Disk_Encryption_User_Guide/zh-cn
"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少