在 CentOS 系统中配置加密分区,步骤看似简单,但实际操作中容易在自动挂载环节遇到问题。只要按照标准流程逐步执行,通常不会出现意外。下面将完整操作步骤详细拆解,并补充几个容易被忽略的注意事项。
-
安装必要的工具
加密操作依赖于cryptsetup工具,在 CentOS 上直接通过包管理器安装即可:sudo yum install cryptsetup这一步是基础,缺少该工具后续所有操作都无法进行。
-
准备一个空白分区
如果系统中还没有专门用于加密的分区,可以使用fdisk或parted先划分一块。假设目标磁盘为/dev/sdX:sudo fdisk /dev/sdX按照提示新建分区,得到例如
/dev/sdX1。注意:该分区上的所有数据将被完全覆盖,重要资料务必提前备份。 -
执行 LUKS 加密
使用cryptsetup对分区进行 LUKS 格式加密:sudo cryptsetup luksFormat /dev/sdX1系统会要求确认操作并设置密码。这里有一个常见误区:密码必须牢记,一旦遗忘,数据将无法恢复。LUKS 对密码强度有一定要求,建议混合使用大小写字母、数字和特殊符号。
-
解锁加密容器
加密完成后,分区处于锁定状态,需要先解锁才能使用:sudo cryptsetup open /dev/sdX1 encrypted_partition执行后会在
/dev/mapper/目录下生成一个映射设备,例如/dev/mapper/encrypted_partition。后续所有操作都应针对这个映射设备,而不是直接操作/dev/sdX1。 -
创建文件系统
映射设备目前是未格式化的裸设备,需要创建文件系统。通常选择 ext4:sudo mkfs.ext4 /dev/mapper/encrypted_partition如果需要使用其他文件系统(如 xfs),替换相应命令即可。但在 CentOS 7 及以后版本中,ext4 的兼容性更好。
-
手动挂载测试
首先创建挂载点,例如/mnt/encrypted:sudo mkdir -p /mnt/encrypted sudo mount /dev/mapper/encrypted_partition /mnt/encrypted此时可以测试读写文件,确认无误后进入下一步。
-
配置开机自动挂载
这一步最容易出错,需要同时修改两个配置文件。-
编辑
/etc/crypttab,设置系统在启动时自动解锁:encrypted_partition /dev/sdX1 none luks注意:第一列为映射名称,第二列为加密设备,第三列可指定密码文件(此处使用
none表示启动时手动输入密码,安全性更高)。 -
编辑
/etc/fstab,定义挂载参数:/dev/mapper/encrypted_partition /mnt/encrypted ext4 defaults 0 2最后两个数字的含义:
0表示不进行 dump 备份,2表示开机时文件系统检查顺序(非根分区通常设为 2)。
-
-
重启验证
执行sudo reboot,系统启动时会提示输入 LUKS 密码。输入正确后,分区将自动挂载到/mnt/encrypted。通过df -h命令可以确认挂载状态。
整个流程中,最容易被忽略的细节是 /etc/crypttab 的格式——字段顺序不能颠倒,映射名称必须与 /etc/fstab 中保持一致。另外,如果磁盘是云服务器上的远程磁盘(如 iSCSI),驱动加载顺序可能影响自动挂载,需要额外配置,但这属于更进阶的话题。
这套方法适用于大多数 CentOS 7/8 环境,Ubuntu 系统也类似,只需记住核心命令即可。
