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

  

posted @ 2022-05-22 23:47  百衲本  阅读(969)  评论(0编辑  收藏  举报
cnblogs_post_body { color: black; font: 0.875em/1.5em "微软雅黑" , "PTSans" , "Arial" ,sans-serif; font-size: 15px; } cnblogs_post_body h1 { text-align:center; background: #333366; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 23px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } cnblogs_post_body h2 { text-align:center; background: #006699; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 20px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } cnblogs_post_body h3 { background: #2B6695; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 18px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } 回到顶部 博客侧边栏 回到顶部 页首代码 回到顶部 页脚代码