如何在 Linux 上使用 eCryptFS 加密文件和目录如何在 Linux 上使用 eCryptFS 加密文件和目录如何在 Linux 上使用 eCryptFS 加密文件和目录如何在 Linux 上使用 eCryptFS 加密文件和目录
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 上使用 eCryptFS 加密文件和目录

您不必是罪犯或为中央情报局工作才能使用加密。你只是不想让任何人监视你的财务数据、家庭照片、未发表的手稿或你记下的你认为可以让你变得超级富有的创业想法的秘密笔记。

我听到人们告诉我“我还没有重要到可以被监视”或者“我不会隐藏任何值得关心的事情”。好吧,我的观点是,即使我没有什么可隐瞒的,或者我可以发布我的孩子和我的狗的照片,我也有权不这样做并希望保护我的隐私。

加密类型

我们主要有两种不同的方法来加密文件和目录。一种方法是文件系统级加密,其中仅对某些文件或目录(例如,/home/alice)进行选择性加密。对我来说,这是一个完美的开始方式。您无需重新安装所有内容即可启用或测试加密。不过,文件系统级加密也有一些缺点。例如,许多现代应用程序将(部分)文件缓存在硬盘驱动器的未加密部分,例如交换分区、/tmp 和 /var 文件夹,这可能会导致隐私泄露。

另一种方式是所谓的全盘加密,这意味着整个磁盘都被加密(可能除了主引导记录)。全盘加密工作在物理磁盘级别;写入磁盘的每一位都被加密,从磁盘读取的任何内容都会自动即时解密。这将防止对未加密数据的任何潜在的未经授权的访问,并确保整个文件系统中的所有内容都被加密,包括交换分区或任何临时缓存的数据。

可用的加密工具

在 Linux 中实现加密有多种选择。在本教程中,我将描述一个选项:eCryptFS 一种堆叠式加密文件系统工具。以下是可用 Linux 加密工具的综述,供您参考。

文件系统级加密

  • EncFS:尝试加密的最简单方法之一。 EncFS 作为堆叠文件系统工作,因此您只需创建一个加密文件夹并将其挂载到要使用的文件夹即可。

  • eCryptFS:一种符合 POSIX 标准的加密文件系统,eCryptFS 的工作方式与 EncFS 相同,因此您必须挂载它。

全盘加密

  • Loop-AES:最古老的磁盘加密方法。它非常快并且可以在旧系统上运行(例如内核 2.0 分支)。

  • DMCrypt:现代 Linux 内核支持的最常见的磁盘加密方案。

  • CipherShed:已停止使用的 TrueCrypt 磁盘加密程序的开源分支。

eCryptFS 基础知识

eCryptFS 是一种堆栈式加密文件系统,自 2.6.19 起就受到 Linux 内核的原生支持(作为 ecryptfs 模块)。 eCryptFS 加密的伪文件系统安装在当前文件系统之上。它在 EXT 文件系统系列和其他文件系统(如 JFS、XFS、ReiserFS、Btrfs,甚至 NFS/CIFS 共享)上完美运行。 Ubuntu 使用 eCryptFS 作为加密主目录的默认方法,ChromeOS 也是如此。在其底层,eCryptFS 默认使用 AES 算法,但它支持其他算法,例如 blowfish、des3、cast5、cast6。如果您创建 eCryptFS 的手动设置,您将能够在其中进行选择。

就像我说的,Ubuntu 让我们选择是否在安装过程中加密 /home 目录。嗯,这是使用 eCryptFS 最简单的方法。

Ubuntu 提供了一组用户友好的工具,使我们的 eCryptFS 生活更轻松,但在 Ubuntu 安装期间启用 eCryptFS 只会创建特定的预配置设置。因此,如果默认设置不能满足您的需求,您将需要执行手动设置。在本教程中,我将描述如何在主要 Linux 发行版上手动设置 eCryptFS。

安装 eCryptFS

在 Ubuntu、Debian 或其衍生产品上:


$ sudo apt-get install ecryptfs-utils

请注意,如果您在 Ubuntu 安装期间选择加密您的主目录,则应该已经安装了 eCryptFS。

在 CentOS、RHEL 或 Fedora 上:


# yum install ecryptfs-utils

在 Arch Linux 上:


$ sudo pacman -S ecryptfs-utils

安装软件包后,最好加载 eCryptFS 内核模块以确保:


$ sudo modprobe ecryptfs

配置 eCryptFS

现在让我们开始通过运行 eCryptFS 配置工具来加密某个目录:


$ ecryptfs-setup-private

它将要求输入登录密码和安装密码。登录密码与您的正常登录密码相同。安装密码用于派生文件加密主密钥。将其留空以生成一个,因为这样更安全。注销并重新登录。

您会注意到,eCryptFS 默认情况下创建了两个目录:您的主目录中的 Private 和 .Private。 ~/.Private目录包含加密数据,您可以在~/Private目录中访问相应的解密数据。当您登录时,~/.Private目录会自动解密并映射到~/Private目录,以便您可以访问它。当您注销时,~/Private 目录会自动卸载,并且 ~/Private 目录中的内容会加密回 ~/.Private 目录中。

eCryptFS 知道您拥有 ~/.Private 目录,并自动将其解密到 ~/Private 目录中,而无需您输入密码,这是通过 eCryptFS PAM 模块 来完成的。

如果您不希望在登录时自动挂载 ~/Private 目录,只需在运行 ecryptfs-setup-private 工具时添加 --noautomount 选项即可。同样,如果您不希望注销后自动卸载 ~/Private 目录,请指定 --noautoumount 选项。但是,您将必须自己手动挂载或卸载 ~/Private 目录:


$ ecryptfs-mount-private ~/.Private ~/Private
$ ecryptfs-umount-private ~/Private

您可以通过运行以下命令来验证 .Private 文件夹是否已安装:


$ mount

现在我们可以开始将任何敏感文件放入 ~/Private 文件夹中,当我们注销时,它们将自动加密并锁定在 ~/.Private 文件夹中。

这一切看起来都很神奇。基本上,ecryptfs-setup-private 工具使一切设置变得简单。如果您想更多地了解 eCryptFS 并设置 eCryptFS 的特定方面,请参阅官方文档。

结论

总而言之,如果您非常关心自己的隐私,我建议的最佳设置是将基于 eCryptFS 的文件系统级加密与全盘加密相结合。但请记住,仅文件加密并不能保证您的隐私。

©2015-2025 艾丽卡 support@alaica.com