linux下的磁盘加密-luks学习
LUKS是linux提供的一种加密标准,在各个linux发行版本都通用。它支持多用户口令,如果用户口令遗失,可以在不重新加密的情况下更改口令。如果要对加密的文件系统进行加载,必须首先进行解密。
工具:cryptsetup。
使用: luksFormat,luksOpen luksClose,luksAddKey.
使用cryptsetup对分区进行加密之后,分区不允许直接挂载。LUKS基于device mapper实现。要使用某个加密分区,必须首先将这个分区映射到/dev/mapper下面。之后再挂载该目录下的东东。当然映射过程需要输入加密密码。下面是一个使用示例:
1 创建分区并加密
2 映射
3 格式化并挂载分区
4 关闭映射
----------------------------------------------------------------------------------------------------------------------------------
1 cryptsetup -v -y -c aes-cbc-plain luksFormat /dev/sda1
这步对设备/dev/sda1 进行加密。-y要求输入密码两次,v 表示显示过程,-c表示加密方法:也就是后面跟的 aes-cbc-plain.
2 cryptsetup luksOPen /dev/sda1 sx-disk
映射设备/dev/sda1到 /dev/mapper/sx-disk(注意这里用户不用指定/dev/mapper,)
LL-d /dev/mapper/sx-disk
lrwxrwxrwx 1 root.root xxxxxxxxxxxxxxx/dev/mapper/sx-disk->../dm-0
cryptsetup status 可以查看映射状态:cryptsetup status /dev/mapper/sx-disk
3 使用分区
mkdir /mnt/sx-disk
mkfs.ext4 /dev/mapper/ds-disk
mount /dev/mapper/sx-disk /mnt/sx-disk
4 卸载
umount /mnt/sx-disk
cryptsetup luksClose sx-disk
5 开机自动挂载
vim /root/cryptpasswd
cryptsetup luksAddKey /dev/sda1 /root/cryptpasswd
输入密码:
vim /etc/crypttab
sx-disk /dev/sda1 /root /cryptpasswd
vim /etc/fstab
/dev/mapper/sx-disk /mnt/sx-disk ext4 defaults 0 0
来自:hx95.com.article/tech/201206/57399.html