Linux磁盘分区加密

本文节选自《Netkiller Cryptography 手札》

出处: http://netkiller.github.io/cryptography/index.html

12.1. Linux磁盘分区加密

Procedure 12.1. cryptsetup - configures encrypted block devices

  1. 安装 cryptsetup # apt-get install cryptsetup dmsetup
  2. 硬盘分区 添加一块新硬盘,使用cfdisk /dev/sdb 对他进行分区 sapnu-melencio:~# fdisk -l Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x0004287b Device Boot Start End Blocks Id System /dev/sda1 * 1 993 7976241 83 Linux /dev/sda2 994 1044 409657+ 5 Extended /dev/sda5 994 1044 409626 82 Linux swap / Solaris Disk /dev/sdb: 4294 MB, 4294967296 bytes 255 heads, 63 sectors/track, 522 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x7256cdce Device Boot Start End Blocks Id System /dev/sdb1 1 522 4192933+ 83 Linux /dev/sdb1 就是我的分区 注意:分区操作要小心加小心,马虎不得,否则你将数据全失。
  3. 创建加密分区 # cryptsetup --verbose --verify-passphrase -c aes-cbc-plain luksFormat /dev/sdb1 WARNING! ======== This will overwrite data on /dev/sdb2 irrevocably. Are you sure? (Type uppercase yes): YES (输入大写的YES来确定创建加密分区) Enter LUKS passphrase: (输入密码) Verify passphrase: (确认密码) Command successful. 这将把不可逆转地改写/dev/sda2 上的数据。 注意:也要小心加小心,马虎不得,否则你将数据全失。一定不要搞错分区。
  4. 挂载的逻辑分区 # cryptsetup luksOpen /dev/sdb1 sdb1 Enter LUKS passphrase: key slot 0 unlocked. Command successful. 如下命令将显示/dev/mapper路径中的隐藏设备 # ls -l /dev/mapper
  5. 格式化加密分区 现在将该分区格式化为ext3文件系统. mkfs.ext3 /dev/mapper/sdb1
  6. 挂载 接下来我们创建一个用于挂载的挂载点并挂载. # mkdir /mnt/secret # mount /dev/mapper/sdb1 /mnt/secret
  7. 使用加密分区 好了,现在你可以使用你的加密分区了. cd /mnt/secret touch file
  8. 卸载 使用完毕后为了保护数据的隐密,我们需要取消挂载并关闭加密分区. # umount /mnt/secret # cryptsetup luksClose sdb1

"Disconnect" Ͽѻģʽ

原文发布于微信公众号 - Netkiller(netkiller-ebook)

原文发表时间:2016-09-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木木玲

Netty 那些事儿 ——— 心跳机制

6119
来自专栏好好学java的技术栈

看了这篇文章,mybatis配置你肯定会了

MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。

813
来自专栏Linyb极客之路

log4j配置学习总结

Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以...

1133
来自专栏安恒网络空间安全讲武堂

MeePwn-Web复现

这里有一个链接的跳转header( "Location: alien_sector.php" ),但是需要$_GET['alien']==='@!#$@!@@'

1591
来自专栏君赏技术博客

我的个人代码规范文档

我说一下上面几个单词用到的地方,在除去NSString Block之外所有的对象应该声明为Strong

772
来自专栏实战docker

修改,编译,GDB调试openjdk8源码(docker环境下)

在上一章《在docker上编译openjdk8》里,我们在docker容器内成功编译了openjdk8的源码,有没有读者朋友产生过这个念头:“能不能修改open...

4789
来自专栏Python

linux每日命令(10):touch命令

如果加入 -c 参数,当目标文件不存在时,不会创建新文件,如果目标文件存在,则会修改文件时间属性为当前系统时间

743
来自专栏Linux驱动

15.linux-LCD层次分析(详解)

如果我们的系统要用GUI(图形界面接口),这时LCD设备驱动程序就应该编写成frambuffer接口,而不是像之前那样只编写操作底层的LCD控制器接口。 什么是...

2416
来自专栏Android 研究

OKHttp源码解析(九):OKHTTP连接中三个"核心"RealConnection、ConnectionPool、StreamAllocation

RealConnection是Connection的实现类,代表着链接socket的链路,如果拥有了一个RealConnection就代表了我们已经跟服务器有了...

3025
来自专栏JMCui

Netty 系列七(那些开箱即用的 ChannelHandler).

    Netty 为许多通用协议提供了编解码器和处理器,几乎可以开箱即用, 这减少了你在那些相当繁琐的事务上本来会花费的时间与精力。另外,这篇文章中,就不涉及...

1643

扫码关注云+社区