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


10

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

如何挂载备份的加密文件?我想确认自己可以做到,并且一切都准备就绪。

我天真的尝试

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

无效,eCryptFS想要创建一个新分区。


Answers:


15

假设您使用Ubuntu标准加密方案,没有任何额外的调整。

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

文件存放的真实位置是/home/.ecryptfs/$USER

那里有两个文件夹,.Private(对文件进行加密)和.ecryptfs,其中包含自动挂载,自动umount,Private.mnt,Private.sig,包裹式密码等文件。

希望将目标文件复制到主机备份中。

如果在此服务器中没有备份的打包密码短语,则您会迷路。如果有备份,则除非通过控制在其上进行备份的主机,否则通过将打包的密码存储在Web上会削弱您的加密方案。

我发现此脚本用于挂载:

ROOT = / home / .ecryptfs / $ USER
TARGET = / mnt / $ USER

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

sudo mkdir -p $目标
光盘$ ROOT

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

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

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

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

回声可能有签名:
sudo keyctl列表@u

echo在$ TARGET上安装$ ROOT ...
sudo mount -t ecryptfs -o key = passphrase,ecryptfs_cipher = aes,ecryptfs_key_bytes = 16,ecryptfs_passthrough = no,ecryptfs_enable_filename_crypto = yes,ecryptfs_sig = $ SIG1,ecryptfs_fnek_sig = $ ASS2,passe

ls $ TARGET

未设置-v PASS

嗯,解开密码短语就是诀窍!谢谢!
Boldewyn

1
很好,它起作用。无论如何,将包装好的密码短语保留在服务器上会削弱甚至破坏加密安全性。
user39559 2011年

3
链接到原始脚本(全线程)。
kenorb 2014年

谢谢!我很惊讶没有标准的命令来执行这种操作。如果您使用EncryptedPrivateDirectory仅加密$HOME/Private安装点,则只需ROOT=$HOME在脚本中使用即可。我将脚本更改为,ROOT=${ROOT:-/home/.ecryptfs/$USER}以便可以通过环境传递该值。
nealmcb

啊-我看到@kenorb的评论链接到一个错误报告,其中详细说明了为什么sudo mount -t ecryptfs .Private /mnt/private在Ubuntu上无法正常使用自行挂载的普通方法来请求密码的方法。嗯-6岁的小虫....
nealmcb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.