CentOS 文件加密常用做法与步骤
在 CentOS 上,文件/目录级加密常用 GnuPG(GPG);若需保护整块磁盘或分区,使用 LUKS/dm-crypt;也可对单个目录做 EncFS/eCryptfs 透明加密。下面给出可直接复制的命令与要点。
一、文件或目录级加密
二、磁盘或分区级加密(LUKS/dm-crypt)
- 适用场景:整块磁盘/分区/外置盘的数据静态加密,安全性高、系统级透明。
- 步骤(示例对 /dev/sdb1 加密):
- 安装工具:sudo yum install -y cryptsetup
- 初始化 LUKS(强烈建议用 LUKS2):
- sudo cryptsetup luksFormat --type luks2 /dev/sdb1
- 提示时输入大写 YES 并设定强口令
- 打开映射:sudo cryptsetup luksOpen /dev/sdb1 enc_vol
- 创建文件系统(示例 ext4):sudo mkfs.ext4 /dev/mapper/enc_vol
- 挂载使用:sudo mount /dev/mapper/enc_vol /mnt/enc
- 查看状态:cryptsetup status enc_vol
- 卸载关闭:sudo umount /mnt/enc && sudo cryptsetup luksClose enc_vol
- 说明:映射设备位于 /dev/mapper/;加密后原分区无法直接挂载,必须先 luksOpen 并格式化;LUKS2 提供更好的扩展性与元数据校验。
三、如何选择与注意事项
- 选择建议
- 单文件/小批量传输:优先 GPG(可公私钥分发,便于多人协作)
- 归档与分享:优先 7-Zip(跨平台、带口令)
- 临时脚本或管道:可用 OpenSSL(注意口令安全)
- 用户目录/特定目录透明加密:选 EncFS/eCryptfs
- 整盘/分区/移动盘:选 LUKS/dm-crypt
- 重要注意事项
- 加密前务必完整备份;丢失口令/密钥通常无法恢复
- 服务器/云主机场景,LUKS 开机解锁需配置密钥文件或控制台交互,避免无人值守失败
- 加密会带来性能开销(CPU 加解密与 I/O 路径增长)
- 妥善管理密钥/口令,避免硬编码与明文留存;对敏感数据建议结合最小权限与审计