dm-cry加密方式密码与文件

与其它创建加密文件系统的方法相比,dm-crypt系统有着无可比拟的优越性:它的速度更快,易用性更强。除此之外,它的适用面也很广,能够运行在各种块设备上,即使这些设备使用了RAID和 LVM也毫无障碍。

如果看到类似下面的输出,说明AES模块已经加载了。

cat /proc/crypto

name         : aes
driver : aes-generic
module : kernel
priority : 100
refcnt : 3
selftest : passed
type : cipher
blocksize : 16
min keysize : 16
max keysize : 32

否则可以用modprobe命令来手工加载AES模块。

modprobe aes

检查dmsetup软件包是否已经建立了设备映像程序,用如下命令:

ls -l /dev/mapper/control

检查dm-crypt内核模块是否加载

[root@node1 mnt]# dmsetup targets
crypt v1.13.0
mirror v1.13.2
striped v1.5.1
linear v1.2.1
error v1.2.0

这说明系统已经为加密设备做好了准备。如果没有输出,可以用如下命令来加载dm-crypt模块。

modprobe dm-crypt

建立加密设备

这里用 fdisk命令来创建需要加密的磁盘,怎么创建磁盘这里不再冗述。假设这里创建好的磁盘分区是/dev/sdb1

cryptsetup -y create sdb_cry /dev/sdb1

sdb_cry是逻辑卷的名称。输入上面命令后,还要输入2次密码,这个密码就是磁盘加密的密码。请牢记!

创建好后,用下面命令检查所建立的逻辑卷:

[root@node1 ~]# dmsetup ls
sdb_cry (252:0)

device-mapper会把它的虚拟设备装载到/dev/mapper下面,所以,你的虚拟块设备应该是/dev/mapper/sdb_cry,尽管用起来和其他块设备没什么不同,实际上它却是经过透明加密的。

创建文件系统:

[root@node1 ~]# mkfs.xfs /dev/mapper/sdb_cry -f

装载加密磁盘:

[root@node1 ~]# mount /dev/mapper/sdb_cry /mnt

[root@node1 ~]# cp /etc/networks /mnt/
[root@node1 ~]# cat /mnt/networks
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0

卸载加密设备

#cryptsetup remove sdb_cry

重新加载加密设备

[root@node1 ~]# cryptsetup create sdb_cry /dev/sdb1

这里重新挂载会要求输入密码,密码输入不正确,设备会映射过去,但是找不到文件系统,是无法看到数据的

重新挂载

mount /dev/mapper/sdb_cry /mnt

注意 cryptsetup -y create sdb_cry /dev/sdb1 会重新为磁盘设置新的密码,只要不对磁盘进行格式化,即使设置了新的密码,同样是看不到数据的,设置了新的密码后,只要不格式化,还是能够使用旧的密码来对磁盘进行挂载的

以上为采用密码加密磁盘的方式

使用luks方式的加密

cryptsetup -y -v luksFormat /dev/sdb1

输入大写的YES,小写不行

cryptsetup isLuks /dev/sdb1

判断设备

cryptsetup luksOpen /dev/sdb1 sdb1_luks

映射设备到/dev/mapper/下面

卸载

cryptsetup remove sdb1_luks

再次加载

cryptsetup isLuks /dev/sdb1

采用文件方式的加密

创建加密设备,并指定的文件

cryptsetup --key-file /etc/ceph/key/UUID --key-size 256 create sdb1_cry /dev/sdb1

使用上面的命令后会在/dev/mapper/下生成对应设备

然后格式化使用设备即可

卸载设备

cryptsetup remove sdb1_cry

需要再次使用就

cryptsetup --key-file /etc/ceph/key/UUID --key-size 256 create sdb1_cry /dev/sdb1

dm-crypt加密磁盘的更多相关文章

  1. random and password 在Linux下生成crypt加密密码的方法,shell 生成指定范围随机数与随机字符串

    openssl rand -hex n (n is number of characters) LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head ...

  2. 在Linux下生成crypt加密密码

    [摘要]当我们用红帽Kickstart脚本或useradd或其他方式写东西的时候,经常会需要用到crypt命令加密生成的密码格式.那么,有没有其他方式可以生成这种格式的密码?事实上,方法有很多 1.我 ...

  3. APFS 宗卷 • APFS(加密)磁盘格式怎么去掉?Mac磁盘加密怎么解除?

    相信很多朋友都因为APFS 宗卷 • APFS(加密)磁盘格式而困扰,这种磁盘加密,导致很多破解版软件都不能安装.那么磁盘加密怎么解除?小编翻阅了一些教程,为您带来APFS 宗卷 • APFS(加密) ...

  4. Crypt加密函数简介(C语言)

    定义函数 char * crypt (const char *key,const char * salt); 函数说明 crypt是个密码加密函数,它是基于Data Encryption Standa ...

  5. laravel中Crypt加密方法

    使用Crypt::encrypt对数据进行加密,要引入 use Illuminate\Support\Facades\Crypt;;  对使用Crypt::encrypt加密的数据进行解密的方法时:C ...

  6. 暴力破解unix/linux平台上采用crypt加密的口令

    # coding=utf-8 ''' 暴力破解crypt模块加密的密码 ''' import crypt import optparse usage = 'Usage: %prog [optinos] ...

  7. 用luks方式对磁盘进行加密以及加密磁盘的自动挂载

    1.关于luks加密 LUKS(Linux Unified Key Setup)为Linux硬盘分区加密提供了一种标准,它不仅能通用于不同的 Linux发行版本,还支持多用户/口令.因为它的加密密钥独 ...

  8. 【Linux】使用cryptsetup加密磁盘 策略为LUKS

    LUKS(Linux Unified Key Setup)为Linux硬盘分区加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令.因为它的加密密钥独立于口令,所以如果口令失 ...

  9. qcow2磁盘加密及libvirt访问

      1.创建qcow2加密磁盘[root@Coc-5 test_encrypt]# qemu-img convert -f qcow2 -O qcow2 -o encryption template_ ...

随机推荐

  1. 【暑假集训】HZOI2019 Luogu P1006 传纸条 二三四维解法

    写三次丢失两次,我谔谔,以后再不在博客园先保存我就去死 题目内容 洛谷链接 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学被安排坐成一个\(m\)行.\(n\ ...

  2. kafka生产者 消费者

    publisher.php <?php $rk = new RdKafka\Producer(); $rk->addBrokers("192.168.33.50"); ...

  3. 第二十五章 ansible基础

    一.Ansible概述 1.什么是Ansible Ansible是一个自动化统一配置管理工具,自动化主要体现在Ansible集成了丰富模块以及功能组件,可以通过一个命令完成一系列的操作,进而能减少重复 ...

  4. git学习(九) idea git stash操作

    在前面说过,git stash 命令的作用就是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上恢复出堆栈中的内容:git stash 作用的范围包括工作区和暂存区中的内容,没 ...

  5. 阿里云MNS官方PHP版SDK缺少message tag问题处理

    最近在使用阿里云MNS官方PHP版SDK的过程中,发现发送到topic的消息,不能设置tag(其它语言版本SDK支持tag,如java,python),但在阿里云控制台页面发送是可以设置tag的. 因 ...

  6. Lombda表达式(四)

    /* * 自定义函数式接口: * 1.声明一个接口,只能包含一个抽象方法 * 2.给这个接口加@FunctionalInterface */ public class Test { public st ...

  7. 走在深夜的小码农 Seventh Day

    Css3 Seventh Day writer:late at night codepeasant 学习大纲: 1. 定位(position) 介绍 1.1 为什么使用定位 我们先来看一个效果,同时思 ...

  8. 基于 opencv 的图像处理入门教程

    前言 虽然计算机视觉领域目前基本是以深度学习算法为主,但实际上很多时候对图片的很多处理方法,并不需要采用深度学习的网络模型,采用目前成熟的图像处理库即可实现,比如 OpenCV 和 PIL ,对图片进 ...

  9. 【Java GC系列】垃圾收集简介(1)

    说明: 在本文中, Garbage Collection 翻译为 "垃圾收集", garbage collector 翻译为 "垃圾收集器"; 一般认为, 垃圾 ...

  10. C++代码雨

    闲逛的时候发现了一个很好玩的程序 摘自:https://blog.csdn.net/u012837895/article/details/20849967#comments 效果如下 #include ...