在Ubuntu系统中,保护数据安全有多种途径,其中文件系统加密是相当可靠的一环。无论是想加密整个磁盘、某个分区,还是仅仅保护某个敏感文件夹,都有对应的成熟方案可供选择。下面就来梳理几种常用的加密技巧,你可以根据实际的安全需求灵活选择。

使用dm-crypt/LUKS加密磁盘或分区
对于整块磁盘或独立分区的加密,dm-crypt配合LUKS(Linux Unified Key Setup)是行业内的标准选择。它的优势在于稳定、通用,且与系统集成度高。具体操作起来,可以遵循以下步骤:
- 首先,确保系统已安装必要的工具:
sudo apt-get install cryptsetup。 - 接下来,对目标分区(例如
/dev/sdX)进行LUKS格式化以创建加密容器:sudo cryptsetup luksFormat /dev/sdX。这个过程会清除分区上的所有数据,务必提前备份。 - 格式化后,需要“打开”这个加密卷,将其映射到一个可用的设备名(比如
encrypted_volume):sudo cryptsetup open /dev/sdX encrypted_volume。 - 此时,你可以像对待普通分区一样,对其进行格式化,例如创建ext4文件系统:
sudo mkfs.ext4 /dev/mapper/encrypted_volume。 - 格式化完成后,就能挂载使用了:
sudo mount /dev/mapper/encrypted_volume /mnt。 - 使用完毕,记得先卸载文件系统:
sudo umount /mnt,然后再关闭加密卷:sudo cryptsetup close encrypted_volume。这样一来,没有密码就无法再次访问其中的数据。
使用eCryptfs加密文件夹
如果不想动整个分区,只想对某个特定目录进行加密,eCryptfs这种基于文件系统的加密工具就非常合适。它能在目录层面实现透明的加密和解密。
- 安装工具包:
sudo apt-get install ecryptfs-utils。 - 创建一个目录作为加密挂载点:
sudo mkdir /encrypted_data。 - 使用eCryptfs挂载这个目录:
sudo mount -t ecryptfs /dev/null /encrypted_data。执行命令后,系统会交互式地询问你一些参数,比如密码、密钥字节数等,按照提示操作即可。 - 为了更方便,也可以直接设置密码短语:
sudo ecryptfs-setup-passphrase /encrypted_data your_password。 - 之后,所有存入
/encrypted_data的文件都会被自动加密,而读取时则会自动解密。你可以将需要保护的文件复制进去:sudo cp /your_original_data/* /encrypted_data/。 - 使用结束后,卸载即可:
sudo umount /encrypted_data。目录下的文件会以加密形式留存,下次挂载时需要提供正确密码才能访问明文。
使用Vaults创建加密文件夹
对于偏好图形化界面的用户,Vaults这款工具提供了一种更直观的方式来管理加密文件夹。它本身是一个前端,后端可以调用gocryptfs或cryfs等加密文件系统。
- 安装方式推荐使用Flatpak,以确保获得最新版本:
flatpak install https://dl.flathub.org/repo/appstream/io.github.mpobaschnig.Vaults.flatpakref。 - 安装后打开Vaults,点击“+”图标选择“New Vault”,然后按照向导操作:输入保险库名称、选择后端加密软件(gocryptfs或cryfs)、设置密码并选择存储位置。完成后,你就可以在文件管理器中像普通文件夹一样打开和使用这个加密空间了,所有加密解密过程都在后台自动完成。
加密整个文件系统(全盘加密)
最高级别的保护莫过于全盘加密,这意味着整个操作系统和数据都在加密保护之下。实现方式主要有两种:
- 最简便的方法是在安装Ubuntu系统时直接选择。在分区设置步骤中,勾选“加密新装的Ubuntu以提高安全程度”选项,然后按照屏幕提示设置加密密码(也称为密钥)。安装程序会自动处理所有底层配置。
- 另一种更手动的方式是,在安装前使用Live Ubuntu环境中的cryptsetup工具预先创建好加密的LUKS容器,然后在安装器中选择这个容器作为根文件系统(
/)的安装目标。这种方法给予用户更大的控制权。
加密主文件夹
Ubuntu还提供了一种便捷的功能,可以单独加密当前用户的主目录(/home/username)。这能在不影响系统其他部分的情况下,保护用户的个人文件和配置。
- 首先安装所需工具:
sudo apt install ecryptfs-utils cryptsetup。 - 加密过程需要在用户未登录的状态下进行。因此,你需要先注销当前账户,然后使用另一个拥有sudo权限的临时账户(如root或另一个管理员)登录。
- 登录后,执行迁移加密命令:
sudo ecryptfs-migrate-home -u username,将username替换为你要加密的用户名。命令会引导你完成整个过程,并将原主目录内容迁移到加密的新目录中。
最后必须提醒的是,任何加密操作都会引入额外的计算开销,可能对磁盘I/O性能产生轻微影响,尤其是在低配置的机器上。因此,在实施加密前,务必完整备份所有重要数据。更重要的是,请将加密密钥或密码妥善保管在安全的地方。一旦丢失,加密数据几乎无法恢复,那意味着数据的永久丢失。安全与便利,总是需要权衡的。
