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
要求输入密码
完成


你可能感兴趣的:(linux,分区加密,liks)