首页 > 代码库 > RHEL6 学习:使用 cryptsetup 给分区加密
RHEL6 学习:使用 cryptsetup 给分区加密
RHEL6 学习:使用 cryptsetup 给分区加密
今天学习了 RHEL 对硬盘分区加密的知识,在 RHEL 系统里可以通过使用 cryptsetup 工具
对硬盘分区进行加密,加密后的分区需要输入密码才能打开,可以把比较敏感的文件放在指定分
区中,并启用加密,从而增强了文件的安全性,下面演示下。
一 cryptsetup 给分区加密
--1.1 增加分区
[root@redhatB ~]# fdisk -cu /dev/sdc Command (m for help): p Disk /dev/sdc: 10.7 GB, 10737418240 bytes Device Boot Start End Blocks Id System Command (m for help): n Command (m for help): p Disk /dev/sdc: 10.7 GB, 10737418240 bytes Device Boot Start End Blocks Id System Command (m for help): w Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. |
备注:上例增加了分区 /dev/sdc7,大小为 1 GB。
--1.2 刷新kernel
[root@redhatB ~]# partx -a /dev/sdc
[root@redhatB ~]# ll /dev/sdc* |
备注:使用命令 partx 刷新 kernel,使系统能读到新增分区 /dev/sdc7。
--1.3 对分区进行加密,并设置密码
[root@redhatB ~]# cryptsetup luksFormat /dev/sdc7 WARNING! Are you sure? (Type uppercase yes): YES |
备注:关于 cryptsetup 命令的用法,可以 man 下,这里关键选项"luksFormat",注意大小写。
--1.4 输入密码,打开分区
[root@redhatB ~]# cryptsetup luksOpen /dev/sdc7 secret Enter passphrase for /dev/sdc7: No key available with this passphrase. Enter passphrase for /dev/sdc7: You have new mail in /var/spool/mail/root [root@redhatB ~]# ll /dev/mapper/secret |
备注:成功打开分区后,将分区映射成 /dev/mapper/secret,这里关键选项"luksOpen",
注意大小写。
--1.5 格式化分区
[root@redhatB ~]# mke2fs -t ext4 /dev/mapper/secret mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65408 inodes, 261632 blocks 13081 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done This filesystem will be automatically checked every 31 mounts or |
--1.6 挂载
[root@redhatB ~]# mkdir -p /mnt/secret [root@redhatB ~]# mount -t ext4 /dev/mapper/secret /mnt/secret/ [root@redhatB ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_redhatb-lv_root 9.9G 3.6G 5.9G 38% / tmpfs 250M 264K 250M 1% /dev/shm /dev/sda1 485M 31M 429M 7% /boot /dev/sdb 9.9G 330M 9.1G 4% /pgdata_xc /dev/mapper/vg1-pgdata1 1008M 34M 924M 4% /database/pgdata1 /dev/mapper/secret 1006M 18M 938M 2% /mnt/secret |
备注:/mnt/secret 目录挂载成功。
--1.7 写入文件测试
[root@redhatB ~]# cd /mnt/secret [root@redhatB secret]# history > history.txt [root@redhatB secret]# ls history.txt lost+found |
--1.8 查看加密分区映射对应的分区。
[root@redhatB mnt]# cryptsetup status secret /dev/mapper/secret is active and is in use. type: LUKS1 cipher: aes-cbc-essiv:sha256 keysize: 256 bits device: /dev/sdc7 offset: 4096 sectors size: 2093056 sectors mode: read/write |
二 使用 cryptsetup 关闭分区
--2.1 umount
[root@redhatB ~]# umount /mnt/secret [root@redhatB ~]# ll /dev/mapper/secret lrwxrwxrwx. 1 root root 7 Jul 29 20:06 /dev/mapper/secret -> ../dm-3 |
--2.2 关闭分区
[root@redhatB ~]# cryptsetup luksClose /dev/mapper/secret [root@redhatB ~]# ll /dev/mapper/secret [root@redhatB ~]# ll /dev/mapper/secret |
备注:这步可以理解成删除之前映射的分区 /dev/mapper/secret,这里选项关键字"luksClose",注意
大小写;关闭分区后,之前映射在文件 /dev/mapper/secret 已经不存在了。
三 总结
本文演示了RHEL 对硬盘分区进行加密,mount,并且 umount 的过程,其中还可以设定密码文件
实现开机自动 mount, 这里不演示了。
RHEL6 学习:使用 cryptsetup 给分区加密