eCryptFS:如何挂载加密主目录的备份?

eCryptFS:如何挂载加密主目录的备份?

我使用 eCryptFS 加密笔记本电脑的主目录。我的备份脚本将加密文件复制到服务器(连同 中的其他所有内容(home/.ecryptfs)。

我如何挂载备份的加密文件?我想验证我是否可以这样做,并且一切是否都已准备就绪。

我天真的尝试

mount -t ecryptfs /backup/home/.ecryptfs/boldewyn /mnt/test

没有用,eCryptFS 想要创建一个新的分区。

答案1

假设您使用 Ubuntu 标准加密方案,无需进行任何额外的调整。

$HOME/.ecryptfs“文件夹”实际上只是一个链接。

你的文件真正保存的位置是 /home/.ecryptfs/$USER

其中有两个文件夹,.Private(包含加密的文件)和.ecryptfs,其中包含 auto-mount、auto-umount、Private.mnt、Private.sig、wrapped-passphrase 等文件。

希望目标文件被复制到您的主机备份。

如果此服务器中没有您的包装密码的备份,您就输了。如果有备份,则您的加密方案已因在网络上存储包装密码而受到削弱,除非您控制进行备份的主机。

我发现这个脚本安装:

ROOT=/home/.ecryptfs/$USER
目标=/mnt/$用户

# ROOT 应该是 .ecryptfs 和 .Private 文件夹的父级

sudo mkdir -p $TARGET
$ROOT 目录

echo 输入你的密码:
PASS=$(ecryptfs-unwrap-passphrase.ecryptfs/wrapped-passphrase|sed s/Passphrase:\ //)
SIG1 = $(head -n1 .ecryptfs/Private.sig)
SIG2 = $(tail -n1 .ecryptfs/Private.sig)

echo 密码:
回显 $PASS
echo 签名:
回显 $SIG1
回显 $SIG2

echo 应该为空:
sudo keyctl clear @u
sudo keyctl 列表@u

echo 不输入任何内容:
回显 $PASS | sudo ecryptfs-add-passphrase --fnek

echo 应该有签名:
sudo keyctl 列表@u

echo 在 $TARGET 上安装 $ROOT...
sudo mount -t ecryptfs -o key=密码,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=no,ecryptfs_enable_filename_crypto=yes,ecryptfs_sig=$SIG1,ecryptfs_fnek_sig=$SIG2,passwd=$(echo $PASS).Private $TARGET

ls $目标

取消设置-v PASS

相关内容