ecryptfs
ecryptfs是一种加密文件系统。该文件系统的内容在传输和储存时以密文形式存在。只有在mount时用密钥解密才能得到明文。利用这个特性,我们可以用他来对软件镜像中的部分敏感文件系统进行加密,然后打包发布。
1.加密文件系统
1.1 生成密钥passphrase
sig=`echo none | ecryptfs-add-passphrase | grep -v Passphrase | cut -d[ -f | cut -d] -f `
echo $sig > sig
1.2 准备空的加密文件系统 fs_crypt
mkdir fs_crypt
1.3 将上面创建的加密文件系统mount到加载点
mount -t ecryptfs -o ecryptfs_cipher=aes,ecryptfs_key_bytes=,ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=n,ecryptfs_sig=${sig},sig=${sig},verbosity= /fs_crypt/ /mnt/
1.4 将待加密的文件系统的内容复制到加载点
rsync -va /plain/ /mnt/
1.5 将加载点umount
umount /mnt/
1.6 fs_crypt就是生成的加密文件系统
对fs_crypt压缩打包,就可以以密文的形式传输和储存了,
2. 解密文件系统
2.1 将fs_crypt在目标设备上解压缩
2.2 用passphrase把fs_crypt mount到加载点。
sig=`cat sig`
mount -t ecryptfs -o ecryptfs_cipher=aes,ecryptfs_key_bytes=,ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=n,ecryptfs_sig=${sig},sig=${sig},verbosity= /fs_crypt/ /mnt/
2.3 访问加载点里面的文件即可访问到明文
所以这个过程中,密钥的保存是很重要的,需要通过其他加密方式进行分发。
参考: https://github.com/lxc/lxc/blob/master/hooks/mountecryptfsroot
ecryptfs的更多相关文章
- 左右GNU Linux企业加密文件系统 eCryptfs简介
/********************************************************************* * Author : Samson * Date ...
- eCryptfs文件系统测试
650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic.php?refimg=" ...
- Linux基础介绍【第九篇】
服务器添加3块磁盘的体系结构 [root@oldboylinux test]# free -m total used free shared buffers cached M ...
- Linux文件搜索命令
文件搜索命令:locate locate 文件名 在后台数据库中按文件名搜索,搜索速度很快(比find命令要快得多) locate命令所搜索的后台数据库的位置:/var/bin/mlocate 支持模 ...
- proc文件系统
在shell终端里不带任何参数,直接运行mount命令可以显示正在挂载的文件系统.其中有这么一行 none on /proc type proc (rw) 这就是/proc文件系统.第一个域显示non ...
- 原来今天是感恩节-Linux基础继续&MySQL和PHP
hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...
- Linux磁盘及文件系统管理
在LINUX中我们知道一个很重要的概念,那就是"一切皆文件",这里的一切表示所有在LINUX系统的对象,自然也包括了LINUX中的硬盘设备.在LINUX中所有设备都被抽象成一个文件 ...
- ZFS(一):ZFS在Debian GNU/Linux上的安装
以下内容翻译自https://pthree.org/2012/04/17/install-zfs-on-debian-gnulinux/,并附有原文,由于是第一次翻译,如有任何翻译不恰当之处,欢迎指出 ...
- 诠释Linux中『一切都是文件』概念和相应的文件类型
导读 在 Unix 和它衍生的比如 Linux 系统中,一切都可以看做文件.虽然它仅仅只是一个泛泛的概念,但这是事实.如果有不是文件的,那它一定是正运行的进程. 要理解这点,可以举个例子,您的根目录( ...
随机推荐
- 详解JavaScript调用栈、尾递归和手动优化
调用栈(Call Stack) 调用栈(Call Stack)是一个基本的计算机概念,这里引入一个概念:栈帧. 栈帧是指为一个函数调用单独分配的那部分栈空间. 当运行的程序从当前函数调用另外一个函数时 ...
- 判断一字串String中是否包含某一串字符串
String ostype = data.getString("osType").toUpperCase(); //转换为大写 if (ostype.contains(" ...
- CSS 阴影动画优化技巧一则
本技巧来自这篇文章 -- How to animate box-shadow with silky smooth performance 本文不是直译,因为觉得这个技巧很有意思很有用,遂起一文. bo ...
- JVM(5) 类加载机制
虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化.最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 一.类加载的时机 类从被加载到虚拟机内存中开 ...
- Python调试工具
1. 日志 通过日志或者print来打印变量.必要时可以打印locals()和globals() 建议使用logging.debug()来代替print,这样到了正式环境,就可以统一删除这些日志. 2 ...
- 面向对象的7个设计原则->开车理解->贴近生活
设计模式在我们的开发中是不可或缺的一部分,很多人会说,我没用那些设计模式啊,我也开发的挺好的,其实不然,我们在开发中都用到了这些设计模式,只不过我们并没有在意这些,今天我就用开车的方法来解释一下我们的 ...
- IDAE 将外部jar打入本地maven仓库
方式1:dependency 本地jar包 <dependency> <groupId>com.hope.cloud</groupId> <!--自定义--& ...
- 微软的分布式应用框架 Dapr Helloworld
Dapr HelloWorld Dapr Distributed Application Runtime. An event-driven, portable runtime for building ...
- Apache Solr Velocity模板远程代码执行复现
0x01漏洞描述 2019年10月31日,国外安全研究员s00py在Github公开了一个Apache Solr Velocity模板注入远程命令执行的poc. 经过研究,发现该0day漏洞真实有效并 ...
- firefox浏览器播放音频
之前做的系统,在firefox浏览器下有更好的使用体验.因此要求客户统一使用firefox浏览器,前段时间客户要求在系统中加入音频效果. 在网上查了下,主要用到的标签有<bgsound>, ...