您的位置:首页 > 运维架构 > Linux

利用luks加密linux磁盘

2017-03-12 13:44 190 查看
LUKS(Linux Unified Key Setup)为Linux硬盘加密提供了一种标准,操作简单,只有在挂载磁盘时需要输入密码,在写入和读取磁盘时不需要。

当然我们在日常的服务器运维中几乎很少会给磁盘进行加密,不过可以对U盘进行加密。

LUKS使用密码验证

准备一块没有格式化的磁盘



对磁盘进行分区,注意这里不进行格式化

fdisk /dev/sdc




利用cryptsetup对磁盘进行加密格式化

cryptsetup luksFormat /dev/sdc1




打开并自动挂载加密的磁盘

cryptsetup luksOpen /dev/sdc1 test


该命令使得/dev/sdc1加密后的分区直接映射到/dev/mapper/test分区上,我们在真正读写分区时使用的是/dev/mapper/test分区



格式化映射的设备,格式化成ext4文件系统

mkfs.ext4 /dev/mapper/test




挂载

mount /dev/mapper/test /mnt/test


可利用df -TH查看挂载,或者写入一个文件到挂载点/mnt/test



使用完成后卸载,卸载挂载点test

umount /mnt/test/


关闭映射的设备

cryptsetup luksClose test




上述过程中,对分区的读写操作是不会出现输入密码验证的,只有在关闭映射的设备之后再重新打开时才会要求输入密码,这时候起到了加密的作用。



另外注意luks是Linux特有的,在unix、mac、windows等操作系统下通过luks加密的磁盘是无法打开的。

使用秘钥免密码验证

使用随机数生成一个密码文件,为4096位即可

dd if=/dev/urandom of=/passwd_test bs=4096 count=1




对密码文件设置权限,其他人不允许读取和写入,600

chmod 600 /passwd_test


用key加密对上面做的/dev/sdc1加密

cryptsetup luksAddKey /dev/sdc1 /passwd_txt




编辑/etc/crypttab,配置认证秘钥



编辑/etc/fstab,配置开机自动挂载



上面配置完成后,重启系统,/mnt/test会自动挂载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: