ecryptfs

ecryptfs是一种加密文件系统。该文件系统的内容在传输和储存时以密文形式存在。只有在mount时用密钥解密才能获得明文。利用这个特性,咱们能够用他来对软件镜像中的部分敏感文件系统进行加密,而后打包发布。加密


1.加密文件系统
1.1 生成密钥passphrase
spa

 

sig=`echo none | ecryptfs-add-passphrase | grep -v Passphrase | cut -d[ -f 2 | cut -d] -f 1`
echo $sig > sig

1.2 准备空的加密文件系统 fs_cryptcode

mkdir fs_crypt

1.3 将上面建立的加密文件系统mount到加载点blog

mount -t ecryptfs -o ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=n,ecryptfs_sig=${sig},sig=${sig},verbosity=0 /fs_crypt/ /mnt/

1.4 将待加密的文件系统的内容复制到加载点ip

rsync -va /plain/ /mnt/

1.5 将加载点umountci

umount /mnt/

1.6 fs_crypt就是生成的加密文件系统

对fs_crypt压缩打包,就能够以密文的形式传输和储存了,

2. 解密文件系统
2.1 将fs_crypt在目标设备上解压缩
2.2 用passphrase把fs_crypt mount到加载点。it

sig=`cat sig`
mount -t ecryptfs -o ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=n,ecryptfs_sig=${sig},sig=${sig},verbosity=0 /fs_crypt/ /mnt/

2.3 访问加载点里面的文件便可访问到明文class

 

因此这个过程当中,密钥的保存是很重要的,须要经过其余加密方式进行分发。打包

相关文章
相关标签/搜索