zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    [翻译]9个最好的富文本编辑器概览
    使用 AForm 快速开发高度复用的表单
    sql server和oracle行转列的一种典型方法
    hibernate4 分页报只进结果集不支持请求的操作的解决办法
    android主流UI布局
    Android 4.0源码放出
    The SQL Server Service Broker for the current database is not enabled
    iphone网络编程 http请求 get / post(发送二进制文件) 总结
    VS2008编译命令
    如何使用SOCKET 发送HTTP1.1 GET POST请求包
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575305.html
Copyright © 2011-2022 走看看