0

0

如何加密Linux目录 ecryptfs加密工具使用

P粉602998670

P粉602998670

发布时间:2025-08-11 11:53:02

|

1083人浏览过

|

来源于php中文网

原创

ecryptfs加密linux目录的方法包括:1. 安装ecryptfs-utils工具包;2. 推荐使用ecryptfs-migrate-home加密用户主目录,操作前需备份并创建临时管理员账户;3. 可手动创建加密目录并通过mount命令挂载,配置密码、加密算法等参数;4. 可配置自动挂载以提升使用便捷性;5. 需注意密码安全、文件名加密选项及备份时机,ecryptfs适用于特定目录加密,非全盘加密场景,且在兼容性上优于fscrypt。

如何加密Linux目录 ecryptfs加密工具使用

在 Linux 系统中,

eCryptfs
是一个功能强大的堆叠式加密文件系统,可以对特定目录进行透明加密。它工作在内核层面,直接叠加在现有文件系统(如 ext4)之上,适合用于加密用户目录或敏感数据目录。下面介绍如何使用
eCryptfs
加密 Linux 目录。


一、安装 eCryptfs 工具

大多数 Linux 发行版默认未安装 eCryptfs 工具包,需要手动安装:

Ubuntu/Debian:

sudo apt update
sudo apt install ecryptfs-utils

CentOS/RHEL/Fedora:

# CentOS/RHEL(需启用 EPEL)
sudo yum install epel-release
sudo yum install ecryptfs-utils

# Fedora
sudo dnf install ecryptfs-utils

二、使用 ecryptfs-migrate-home 加密用户主目录(推荐方式)

如果你希望加密某个用户的主目录(例如

alice
),官方推荐使用
ecryptfs-migrate-home
工具。

⚠️ 警告:操作前务必备份重要数据!
  1. 创建临时管理员账户用于操作

    sudo adduser tempadmin
    sudo usermod -aG sudo tempadmin  # 赋予 sudo 权限

    切换到该账户登录,避免加密当前正在使用的用户。

  2. 运行迁移工具加密用户目录

    sudo ecryptfs-migrate-home -u alice
  3. 按提示操作:

    • 工具会提示你登录
      alice
      账户并验证密码是否能解密目录。
    • 设置挂载密码(mount passphrase),建议保存好。
    • 系统会备份原目录并创建加密版本。
  4. 重启并测试登录

    • 重新以
      alice
      登录,系统应自动挂载加密目录。
    • 登出后,目录内容在底层是加密状态。

注意:若

ecryptfs-migrate-home
失败,原始数据可能仍保留在备份中(如
/home/alice.XXXXX
),可手动恢复。


三、手动加密任意目录(如 ~/Private)

如果你想加密某个自定义目录(比如

~/Private
),可以手动配置 eCryptfs。

  1. 加载 eCryptfs 模块

    Programming Helper
    Programming Helper

    AI代码自动生成器,在AI的帮助下更快地编程

    下载
    sudo modprobe ecryptfs
  2. 创建明文和加密目录

    mkdir ~/encrypted-data    # 底层存储加密数据
    mkdir ~/private           # 上层挂载点,访问明文
  3. 挂载加密目录

    mount -t ecryptfs ~/encrypted-data ~/private

    挂载时会提示配置参数:

    • Select key type:
      passphrase
    • Passphrase: 输入你的密码(建议强密码)
    • Cipher:
      aes
      (推荐)
    • Key bytes:
      16
      (对应128位)或
      32
      (256位)
    • Enable plaintext passthrough:
      n
    • Enable filename encryption:
      y
      (建议开启)

    挂载成功后,往

    ~/Private
    写入的文件都会自动加密并存储在
    ~/encrypted-data
    中。

  4. 卸载目录

    umount ~/private

    卸载后,

    ~/encrypted-data
    中的内容为密文,无法直接读取。

  5. 重新挂载

    mount -t ecryptfs ~/encrypted-data ~/private

    需要输入相同的密码和参数才能正确解密。


四、自动挂载配置(可选)

为了方便使用,可将挂载信息写入

~/.ecryptfs/auto-mount
或通过 PAM 模块实现用户登录时自动挂载。

例如,在

~/.bashrc
中添加别名:

alias mount-private='mount -t ecryptfs ~/encrypted-data ~/private'
alias umount-private='umount ~/private'

或者使用脚本自动处理挂载参数。


五、注意事项与安全建议

  • 密码即密钥:eCryptfs 使用口令派生密钥,务必使用高强度密码。
  • 保存好挂载密码:如果忘记密码,数据无法恢复。
  • 文件名加密需单独开启:否则文件名仍为明文。
  • 性能影响较小:eCryptfs 是堆叠文件系统,性能损耗较低。
  • 不适用于全盘加密:如需全盘加密,建议使用 LUKS + dm-crypt。
  • 备份加密数据前确保已挂载:否则备份的是密文,恢复后仍需正确挂载才能访问。

基本上就这些。eCryptfs 适合对特定目录进行细粒度加密,尤其是用户主目录或敏感项目目录。虽然现在部分新系统转向 fscrypt(尤其在 ext4 上更高效),但 eCryptfs 在兼容性和灵活性上仍有优势,特别是在非 root 分区加密场景中。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

443

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

605

2023.08.10

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

497

2023.08.14

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1564

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

716

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

300

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

800

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

588

2023.07.06

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.6万人学习

Git 教程
Git 教程

共21课时 | 4.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号