Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

8.12. Linux磁盘分区加密

过程 8.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"