首页主机资讯Linux分区怎样加密

Linux分区怎样加密

时间2025-11-14 16:03:03发布访客分类主机资讯浏览550
导读:Linux 分区加密实操指南 一、方案与原理 常用方案是使用 LUKS/dm-crypt:内核的 dm-crypt 提供透明块设备加密,cryptsetup 是管理 LUKS 的命令行工具,支持在分区、整盘、LVM 逻辑卷、软件 RAID...

Linux 分区加密实操指南

一、方案与原理

  • 常用方案是使用 LUKS/dm-crypt:内核的 dm-crypt 提供透明块设备加密,cryptsetup 是管理 LUKS 的命令行工具,支持在分区、整盘、LVM 逻辑卷、软件 RAID、可移动介质等上建立加密卷。LUKS 将必要的元数据与密钥管理信息存放在磁盘上,便于使用与迁移。若需要图形化,桌面环境可用 GNOME Disks 进行分区加密;跨平台或移动介质也可用 VeraCrypt

二、命令行步骤 LUKS 加密一个分区

  • 准备分区(示例为 /dev/vdb1):先备份数据,卸载目标分区,确认设备名无误。
  • 安装工具(视发行版):如 yum install cryptsetupapt install cryptsetup
  • 初始化加密分区(会清空数据,务必确认设备):
    • 交互口令方式:
      sudo cryptsetup luksFormat /dev/vdb1
      
    • 密钥文件方式(更安全,便于自动化):
      sudo dd if=/dev/urandom of=/root/key0.key bs=1 count=4096
      sudo cryptsetup -q -s 512 luksFormat /dev/vdb1 /root/key0.key
      
  • 打开加密卷并创建文件系统:
    sudo cryptsetup open -d /root/key0.key /dev/vdb1 enc_data   # 生成 /dev/mapper/enc_data
    sudo mkfs.xfs /dev/mapper/enc_data    # 或 mkfs.ext4
    sudo mount /dev/mapper/enc_data /mnt
    
  • 日常关闭与重新打开:
    sudo umount /mnt
    sudo cryptsetup close enc_data
    # 重新打开
    sudo cryptsetup open -d /root/key0.key /dev/vdb1 enc_data
    sudo mount /dev/mapper/enc_data /mnt
    
  • 提示:锁定后直接挂载原分区会失败(显示为 crypto_LUKS),必须先 open 再挂载。

三、开机自动解锁与挂载

  • 使用密钥文件时,配置自动解锁与自动挂载:
    1. 将密钥文件权限设为仅 root 可读写:
      sudo chmod 600 /root/key0.key
      
    2. 添加密钥到 LUKS(可同时保留口令):
      sudo cryptsetup luksAddKey /dev/vdb1 /root/key0.key
      
    3. 编辑 /etc/crypttab(映射名 设备 密钥文件/选项):
      enc_data  /dev/vdb1  /root/key0.key
      
    4. 编辑 /etc/fstab(使用映射路径):
      /dev/mapper/enc_data  /mnt  xfs  defaults  0 0
      
    5. 测试(不影响当前会话的重启前验证):
      sudo systemctl daemon-reload
      sudo cryptdisks_start enc_data
      sudo mount -a
      
  • 说明:若使用口令解锁,可在 /etc/crypttab 中使用 keyscript 或交互式提示;服务器环境更推荐密钥文件或 TPM/网络密钥解锁。

四、其它常见场景

  • 使用 LUKS + LVM:先对物理分区加密并 open,得到 /dev/mapper/crypt,再作为 PV 加入 LVM,创建 VG/LV 后格式化挂载,便于灵活扩容与快照。
  • 文件级加密:对敏感文件/目录可用 GnuPG(对称或公私钥)或 EncFS(用户态堆叠式 FUSE 加密);跨平台移动盘可用 VeraCrypt

五、安全与恢复要点

  • 加密是破坏性操作:执行 luksFormat/mkfs 会清空设备数据,操作前务必完整备份。
  • 密钥与权限:密钥文件严格限制权限(如 600),妥善存放;多密钥提升可用性与应急能力(如同时保留口令与密钥文件)。
  • SSD/TRIM 与性能:在支持的设备上,使用 –allow-discards 可在 LUKS 开启 discard/TRIM,有助于 SSD 磨损均衡,但在部分场景存在信息泄露风险,需结合安全策略权衡。
  • 应急与撤销:牢记 LUKS 头部备份(如 cryptsetup luksHeaderBackup),可在头部损坏时尝试恢复;撤销加密需先备份数据,然后关闭映射并对底层设备重新 mkfs

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux分区怎样加密
本文地址: https://pptw.com/jishu/748124.html
C++在Debian上如何高效编译 Linux分区怎样卸载

游客 回复需填写必要信息