Linux使用LUKS对分区加密

为了数据的安全,我们有时候需要对分区进行加密,linux有一款对分区加密的工具luks,下面用虚拟机实验一下:
1、新建分区,我这里是/dev/sdb6
2、设置密码:
# cryptsetup luksFormat /dev/sdb6

WARNING!
========
This will overwrite data on /dev/sdb6 irrevocably.

Are you sure? (Type uppercase yes): YES    ---------一定要大写
Enter LUKS passphrase:
Verify passphrase
这个时候我们的分区已经被加密,我们要使用必须先解密
这里通过luksOpen来进行解密 后面‘pass’可以写随意的名字,然后会将加密卷/dev/vda5解锁为/dev/mapper/pass,之后,我们用的都是/dev/mapper/pass了,而不是/dev/vda5
3、解锁:
# cryptsetup luksOpen /dev/sdb6 pass
Enter passphrase for /dev/sdb6:
# ll /dev/mapper/pass
lrwxrwxrwx. 1 root root 7 11月 28 15:05 /dev/mapper/pass -> ../dm-2
4、然后对解密的卷进行格式化:
# mkfs.ext4 /dev/mapper/pass
5、接下来把分区挂载到我们的文件系统上:

# mkdir /mnt/secret
# mount /dev/mapper/pass /mnt/secret/
用df命令查看下:

# df -TH
文件系统    类型      容量  已用  可用 已用%% 挂载点
/dev/sda7    ext4      47G  6.4G    38G  15% /
tmpfs        tmpfs    994M  246k  994M  1% /dev/shm
/dev/sda1    ext4    102M    32M    65M  33% /boot
/dev/sda3    ext4      16G  792M    14G  6% /home
/dev/sda2    ext4      31G  1.3G    29G  5% /usr/local
/dev/sda5    ext4      11G  1.2G  8.7G  12% /var
/dev/sr0  iso9660    3.8G  3.8G      0 100% /media/CentOS_6.3_Final
/dev/mapper/pass
            ext4    1.1G    19M  964M  2% /mnt/secret
# echo test >/mnt/secret/a.txt
6、当我们用完我们的加密分区后,就可以卸载它然后再锁住,这样数据就又会保护起来
我们要先卸载我们挂上去的分区,然后再锁住,如果不能锁住,可以尝试下先把挂载目录删了
# cryptsetup luksClose pass
Device pass is busy.
[root@ns1 ~]# umount /mnt/secret/
[root@ns1 ~]# cryptsetup luksClose pass
]# ll /dev/mapper/pass
ls: 无法访问/dev/mapper/pass: 没有那个文件或目录
如果下次先再用,就重复luksOpen,再挂载就可以了
7、至此基本上可以满足要求了,如果想要让它开机挂载可以写到/etc/fstab中(实际情况不常见):
/dev/mapper/pass        /mnt/secret            ext4    defaults        0 0
编辑/etc/crypttab
vi /etc/crypttab
pass /dev/sdb6      ------ 这样子开机会要求输入密码
8、如果开机不想输入密码,可以先将密码写在密码文件中,如:
]# echo -n "123" > /root/pass
#vi /etc/crypttab
  pass /dev/sdb6  /root/pass
# chown root /roo/pass
# chmod 600 /root/pass
# cryptsetup luksAddKey /dev/sdb6 /root/pass
要求输入密码
完成

相关阅读

相关推荐