温馨提示×

Ubuntu挂载加密分区有哪些方法

小樊
37
2025-12-17 07:40:45
栏目: 网络安全

Ubuntu 挂载加密分区的常用方法

前置准备

  • 安装工具:Ubuntu 上管理 LUKS 加密分区的工具为 cryptsetup,安装命令:sudo apt-get update && sudo apt-get install cryptsetup
  • 确认设备:使用 lsblksudo fdisk -l 找到加密分区,例如 /dev/sdb1
  • 基本流程:先解密(open)得到 /dev/mapper/,再用 mount 挂载;用完执行 umountcryptsetup luksClose 关闭映射。

方法一 手动临时挂载 LUKS 分区

  • 解密分区:执行 sudo cryptsetup luksOpen /dev/sdb1 my_encrypted(将 my_encrypted 替换为你的映射名),输入口令后生成 /dev/mapper/my_encrypted
  • 创建挂载点并挂载:例如 sudo mkdir -p /mnt/encsudo mount /dev/mapper/my_encrypted /mnt/enc
  • 卸载与关闭:使用 sudo umount /mnt/encsudo cryptsetup luksClose my_encrypted
  • 说明:这是最通用、最安全的交互式方式,适合一次性或临时访问。

方法二 开机自动解锁并挂载

  • 配置自动解锁:编辑 /etc/crypttab,添加一行(示例):
    • 使用设备路径:encrypted_partition /dev/sdXY none luks
    • 或使用 UUID(推荐):先获取加密分区 UUID:sudo blkid,再写入:encrypted_partition UUID=<加密分区UUID> none luks
  • 配置自动挂载:编辑 /etc/fstab,添加一行(示例):
    • /dev/mapper/encrypted_partition /mnt/encrypted_partition ext4 defaults 0 0
  • 说明:系统启动时会先提示输入 LUKS 口令完成解锁,再按 fstab 挂载;使用 UUID 更稳健,避免设备名变化导致失败。

方法三 使用密钥文件实现无交互解锁

  • 生成密钥文件(示例):sudo dd if=/dev/urandom of=/root/keyfile bs=4096 count=1,并设置权限:sudo chmod 600 /root/keyfile
  • 添加密钥到 LUKS:将密钥加入分区密钥槽:sudo cryptsetup luksAddKey /dev/sdXY /root/keyfile(需输入原口令)。
  • 配置自动解锁:在 /etc/crypttab 使用密钥文件(示例):
    • encrypted_partition /dev/sdXY /root/keyfile luks
  • 配置自动挂载:在 /etc/fstab 添加与上文相同的挂载条目。
  • 说明:适合无人值守场景;务必妥善保护密钥文件(权限 600、离线备份),否则等同于泄露加密密钥。

常见问题与排查

  • 设备名变化导致挂载失败:优先在 /etc/crypttab/etc/fstab 中使用 UUID 而非 /dev/sdX;UUID 可通过 sudo blkid 获取。
  • 忘记口令或丢失密钥:LUKS 的设计目标是“口令/密钥即数据”,无法找回,只能重做加密与恢复数据(若有备份)。
  • 关闭顺序错误:应先 umountcryptsetup luksClose,否则可能提示设备忙。
  • 文件系统类型不匹配:挂载前确认文件系统(如 ext4/xfs),必要时用 sudo mkfs.ext4 /dev/mapper/ 重新格式化(会清空数据,谨慎操作)。

0