Ubuntu 文件管理加密实用指南
一、常用方案速览
- GnuPG(对称/公钥加密):适合单文件、与他人安全交换文件。
- Seahorse + Nautilus 扩展:在文件管理器右键一键加密/解密,适合桌面用户。
- VeraCrypt(容器/分区/全盘):跨平台、抗取证,适合移动介质或共享盘。
- eCryptfs(目录级):用户空间加密,适合为当前用户的私有目录加密。
- LUKS(磁盘/分区):系统级整盘或分区加密,适合重装或服务器场景。
- OpenSSL(对称):命令行快速对单个文件做 AES-256 加密。
- zip 7z 加密归档:便于分享与传输的压缩包加密。
二、桌面一键加密 Seahorse Nautilus 扩展
- 安装工具与扩展:sudo apt install seahorse seahorse-nautilus
- 生成密钥:打开“密码和密钥”(Seahorse)→ 新建 GPG 密钥(建议 RSA 4096 位)→ 完成后可导出/备份密钥
- 在文件管理器加密:在 Nautilus 中右键文件/文件夹 → 选择 Encrypt(可单独加密各文件或先压缩再加密)→ 选择收件人密钥或对称口令 → 生成 .pgp 文件
- 解密:右键 .pgp → Decrypt,或在终端用 gpg -d 文件.gpg 输出到目标文件
三、文件与文件夹的常用加密方法
- GnuPG 公钥加密(适合发给他人的文件)
- 生成密钥:gpg --full-generate-key
- 加密:gpg -e -r “对方邮箱” 文件名 → 生成 文件名.gpg
- 解密:gpg -d 文件名.gpg > 文件名
- GnuPG 对称加密(仅自己使用)
- 加密:gpg -c 文件名 → 生成 文件名.gpg
- 解密:gpg -d 文件名.gpg > 文件名
- OpenSSL 对称加密(AES-256)
- 加密:openssl enc -e -aes256 -in 明文 -out 密文
- 解密:openssl enc -d -aes256 -in 密文 -out 明文
- zip 与 7z 加密归档(便于分享)
- zip 加密:zip -r -e 归档.zip 文件夹
- 7z 加密:7z a -p 密码 归档.7z 文件夹
四、容器与磁盘级加密
- VeraCrypt(推荐用于移动盘/共享盘)
- 安装:从官网下载安装包,执行 sudo ./veracrypt-*.run
- 创建容器:veracrypt --create 容器.vc → 选择 AES + SHA-512 + Ext4 → 设置强口令(可启用 PIM 增强抗暴力)
- 挂载使用:veracrypt 容器.vc /mnt/point → 使用完毕 veracrypt -d 容器.vc(或按卷卸载)
- LUKS(整盘/分区加密)
- 准备分区(示例 /dev/sdXn):sudo umount /dev/sdXn
- 格式化:sudo cryptsetup luksFormat /dev/sdXn
- 打开映射:sudo cryptsetup open /dev/sdXn my_crypt
- 文件系统与挂载:sudo mkfs.ext4 /dev/mapper/my_crypt && sudo mount /dev/mapper/my_crypt /mnt
五、用户目录与系统级方案
- eCryptfs 加密主目录(对已存在用户)
- 安装:sudo apt install ecryptfs-utils cryptsetup
- 准备:新建临时管理员账户并加入 sudo(用于迁移)
- 迁移:sudo ecryptfs-migrate-home -u <用户名>
- 完成后:注销并重新登录原账户,按提示备份恢复口令(ecryptfs-unwrap-passphrase)
- 交换区:如有交换分区,执行 sudo ecryptfs-setup-swap(注意可能影响休眠/挂起)
- 清理:确认无误后删除临时账户与迁移备份目录(如 /home/用户名.xxxxx)
- 新装系统的磁盘加密
- 现代 Ubuntu 安装器支持 全磁盘加密(FDE);若需仅加密 /home,可在安装时选择相应选项,或按上文 eCryptfs 方案迁移现有用户
六、安全与备份建议
- 使用高强度口令与密钥备份(Seahorse 可导出私钥/公钥),必要时同步到可信密钥服务器
- 容器/分区加密请妥善保管口令与(如使用)PIM;丢失将无法恢复数据
- 重要数据多副本离线/异地备份;加密不能替代备份
- 旧工具谨慎:CryptKeeper 曾被报告存在“万能密码”风险,不建议继续使用
- 权限不是加密:chmod 700 仅限制访问权限,不等于加密,切勿替代加密方案