dm-crypt加密磁盘
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加密磁盘的更多相关文章
- 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 ...
- 在Linux下生成crypt加密密码
[摘要]当我们用红帽Kickstart脚本或useradd或其他方式写东西的时候,经常会需要用到crypt命令加密生成的密码格式.那么,有没有其他方式可以生成这种格式的密码?事实上,方法有很多 1.我 ...
- APFS 宗卷 • APFS(加密)磁盘格式怎么去掉?Mac磁盘加密怎么解除?
相信很多朋友都因为APFS 宗卷 • APFS(加密)磁盘格式而困扰,这种磁盘加密,导致很多破解版软件都不能安装.那么磁盘加密怎么解除?小编翻阅了一些教程,为您带来APFS 宗卷 • APFS(加密) ...
- Crypt加密函数简介(C语言)
定义函数 char * crypt (const char *key,const char * salt); 函数说明 crypt是个密码加密函数,它是基于Data Encryption Standa ...
- laravel中Crypt加密方法
使用Crypt::encrypt对数据进行加密,要引入 use Illuminate\Support\Facades\Crypt;; 对使用Crypt::encrypt加密的数据进行解密的方法时:C ...
- 暴力破解unix/linux平台上采用crypt加密的口令
# coding=utf-8 ''' 暴力破解crypt模块加密的密码 ''' import crypt import optparse usage = 'Usage: %prog [optinos] ...
- 用luks方式对磁盘进行加密以及加密磁盘的自动挂载
1.关于luks加密 LUKS(Linux Unified Key Setup)为Linux硬盘分区加密提供了一种标准,它不仅能通用于不同的 Linux发行版本,还支持多用户/口令.因为它的加密密钥独 ...
- 【Linux】使用cryptsetup加密磁盘 策略为LUKS
LUKS(Linux Unified Key Setup)为Linux硬盘分区加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令.因为它的加密密钥独立于口令,所以如果口令失 ...
- qcow2磁盘加密及libvirt访问
1.创建qcow2加密磁盘[root@Coc-5 test_encrypt]# qemu-img convert -f qcow2 -O qcow2 -o encryption template_ ...
随机推荐
- python实现elasticsearch操作-CRUD API
python操作elasticsearch常用API 目录 目录 python操作elasticsearch常用API1.基础2.常见增删改操作创建更新删除3.查询操作查询拓展类实现es的CRUD操作 ...
- VIM 批量注释的两种方法 (转)
方法一 ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I(shift+i),再插入注释符,比如"//",再按Esc,就会全部注释了 批 ...
- ansible使用script模块在受控机上执行脚本(ansible2.9.5)
一,ansible的script模块的用途 script 模块用来在远程主机上执行 ansible 管理主机上的脚本, 即:脚本一直存在于 ansible 管理主机本地, 不需要手动拷贝到远程主机后再 ...
- matplotlib直方图
import matplotlib.pyplot as plt import matplotlib as mpl from matplotlib.font_manager import FontPro ...
- hbase的Java基本操作
hbase的Java基本操作 建表,建列簇操作 private static Connection connection; private static Admin admin; public sta ...
- Linux命令的内部命令执行
一个命令可能既是内部命令也是外部命令 因为内部命令优先级高,先执行内部命令 [04:21:44 root@C8[ ~]#type -a echo echo is a shell builtin ech ...
- Django( 学习第三部 Django的url路由层)
目录 url路由层 路由匹配(有名分组与无名分组) 反向解析 路由分发 名称空间(了解) Django版本区别 url 路由匹配 注意事项: url方法,第一个参数是正则表达式,只要第一个参数能够匹配 ...
- java如何实现一个Future
实现Futrue接口 public class MsgFuture<V> implements java.util.concurrent.Future<V> { ... ... ...
- MacOs/Liunx主机搭建windows平台双机调试环境
0x00 前言 本文的主要试用对象是Mac OS/Linux用户,对于想调试windows内核相关的一些东西时,需要搭建双机调试环境的一些记录.另外对于本机是windows的用户也完全试用,windo ...
- 一篇理解什么是CanSet, CanAddr?
什么是可设置( CanSet ) 首先需要先明确下,可设置是针对 reflect.Value 的.普通的变量要转变成为 reflect.Value 需要先使用 reflect.ValueOf() 来进 ...