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. Python-selenium:鼠标键盘事件

    鼠标事件 # 每个模拟事件后需加.perform() 才会执行 # context_click() 右击 # double_click() 双击 # drag_and_drop(source, tar ...

  2. 皕杰报表:连接数据库失败,请检查数据源配置(oracle.jdbc.driver.OracleDriver)

    皕杰报表:连接数据库失败,请检查数据源配置(oracle.jdbc.driver.OracleDriver)问题解决: 缺少了classes12.jar 在窗口--首选项--报表运行时配置--添加-- ...

  3. 全文检索Solr集成HanLP中文分词【转】

    以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在 ...

  4. 第二十四章 IPtables防火墙

    一.iptables防火墙基本概述 1.应用场景 1.主机安全2.端口转发/ip转发3.内部共享上网 2.iptables工作流程 1.配置防火墙规则可以添加在下面,也可以添加在前面,是有顺序的2.匹 ...

  5. 2.通过QOpenGLWidget绘制三角形

    参考:1.opengl绘制三角形 1.QOpenGLWidget的早先版本 QGLWidget是遗留Qt OpenGL模块的一部分,和其他QGL类一样,应该在新的应用程序中避免使用.相反,从Qt 5. ...

  6. rpc服务在游戏中的简单运用

    我们最开始做的游戏框架,多数都是client->server->db的模式,但是随着玩家数量的增加,一个server进程就会扛不住,需要多个进程服务于多个玩家.但是给定了不同进程的玩家,有 ...

  7. RAM ROM区别记忆

    我老是忘这个 1.概念 RAM即随机存储内存,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序.ROM即只读内存,是一种只能读出事先所存数据的固态半导体存储器. 2.对比 手机中的R ...

  8. BlockCanary界面卡顿检测

    添加依赖: implementation 'com.github.markzhai:blockcanary-android:1.5.0' 运行后会同时安装检测工具,主要检测UI线程运行卡顿现象 pub ...

  9. 如何在 vue 项目里正确地引用 jquery

    转载 2016年11月13日 使用vue-cli构建的vue项目,webpack的配置文件是分散在很多地方的,而我们需要修改的是build/webpack.base.conf.js,修改两处的代码 / ...

  10. D. Kilani and the Game 解析(裸BFS、實作)

    Codeforce 1105 D. Kilani and the Game 解析(裸BFS.實作) 今天我們來看看CF1105D 題目連結 題目 給一個\(n\times m\)的地圖,地圖上有幾種格 ...