在 CentOS 上“加密挂载”通常指 加密磁盘/分区后再挂载,常用方案有 LUKS(推荐) 和 eCryptfs(目录级加密)。下面按常见场景说明。
一、LUKS 加密整个分区(最常用)
1. 安装工具
yum install -y cryptsetup
2. 加密分区(会清空数据)
假设分区是 /dev/sdb1
cryptsetup luksFormat /dev/sdb1
输入 YES 并设置密码。
3. 打开加密设备
cryptsetup luksOpen /dev/sdb1 encrypted_disk
成功后生成:
/dev/mapper/encrypted_disk
4. 格式化并挂载
mkfs.ext4 /dev/mapper/encrypted_disk
mkdir /mnt/secure
mount /dev/mapper/encrypted_disk /mnt/secure
5. 开机自动挂载(可选)
(1)配置 /etc/crypttab
encrypted_disk /dev/sdb1 none
(2)配置 /etc/fstab
/dev/mapper/encrypted_disk /mnt/secure ext4 defaults 0 0
若使用密码文件而非交互输入,可参考
luksAddKey。
二、eCryptfs(加密某个目录,不需整盘)
适合“只加密某个目录”。
yum install -y ecryptfs-utils
mount -t ecryptfs /secret /secret
按提示选择:
- 加密算法(默认 aes)
- 密钥类型(passphrase)
- 是否明文文件名(建议 no)
三、使用加密文件作为磁盘(loop + LUKS)
1. 创建加密文件
dd if=/dev/zero of=/opt/enc.img bs=1M count=1024
cryptsetup luksFormat /opt/enc.img
cryptsetup luksOpen /opt/enc.img encvol
mkfs.ext4 /dev/mapper/encvol
2. 挂载
mkdir /mnt/enc
mount /dev/mapper/encvol /mnt/enc
四、卸载与关闭
umount /mnt/secure
cryptsetup luksClose encrypted_disk
推荐方案总结
| 场景 | 推荐 |
|---|---|
| 整盘/数据盘加密 | LUKS |
| 云服务器数据盘 | LUKS |
| 单目录加密 | eCryptfs |
| 容器/便携文件 | LUKS + loop |
如果你能说明:
- CentOS 版本(7 / 8 / Stream)
- 是 系统盘还是数据盘
- 是否要 开机自动解密
我可以给你更精确的配置示例。