linux使用luks加密硬盘或u盘

yum install cryptsetup

加密整个硬盘加密单个分区先fdisk新建分区再加密指定分区,按提示输入大写YES和密码:

cryptsetupG R @ z R _ $ ; luksFormat /dev/sdb
#加密单个分区
#cryptsetup luksFormat . + u # 3 = It /dev/sdb1

可设置8个密码,添加新密码:

cryptsetup luksAddKey /dev/sdb

8 | D T U c 3 q可使用文K g 0 [ 1 V * t件作为密码:

dd if=/dev/urandom of=/root/enc.key bsA O B ~=1 count=409* z +6
cryptsetup luksAddKey /dev/sy U K x M *db enc.key

删除密码:

#输入要删除的密码
cryptsetup l9 E C % 3 !uksRemoveKey /dev/sdb
#删除文件密V + n - ~ _码
cryptsetup luksRemoveKey /dev/sdb -d enc.k/ / ^ ,ey

解开加密的磁盘并映射为可挂载的分区,在此分区上可创建pv使用lvm:

#解{ V ` K @密的分区位6 j = o R  - Z ?于/dev/mapper/test
cryptsetup_ O f ` e & # x 9 luksOpen /dev/sdb test
#cryptsetup luksOpen /dev/sdb test -d enc.key 

格式化分区h A 7 } U 5 G _并挂载目录:

mkfs.ext4 /dev/mapper/test
mkdir test
mount /dev/mapper/test test

查看状态:

cL 5 9 w 1 & 5 $ryptsetup status /dev/mapper/test 

查看加密的分区信息:

cryptsetup luksDump /& E l %dev/sdg # C B ; Y Db

开机自动挂载:

#/etc/crypttab文件添加以下:
#开+ * G I e @ Q N @机时手工输入密码
testf K & Q 0 ; N E s /dev/sdb  lq r ; o Y puks
#使用密码文件自动输入
#test /dev/sdb /root/enc.key luks
#/etc/fstab文件添加以下:
/dev/mapper/test /root/test ext4 defaults        0 0

关闭解密的分区:

umount test
crypts_ u ( } + M ietup luksClose test. . u

加密raw文件可挂载磁盘

dd if=/dev/zero of=loop.img bs=1M count=100
#挂载
losetup /dev/loop1^ { | W u %0 loop.img
cryptsI o w k j ! R |etup luksFormat /dev/loop10
#卸载
losetup -d /dev/loop10