我想以这样的方式加密一个目录,使该目录在我登录后保持加密状态,只有当我故意输入我的密码时,目录的内容才会被解密。我做了以下事情
mkdir ./secret
chmod 700 secret
sudo mount -t ecryptfs ./secret ./secret
用合理的答案回答了所有问题并检查
>mount |grep secret
/home/myname/mydir/secret on /home/myname/mydir/secret type ecryptfs (rw,relatime,ecryptfs_fnek_sig=xxxxxx,ecryptfs_sig=yyyyyy,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)
然后将一些文件放入 ./secret 中,检查文件是否可访问(应该是)。然后我卸载该目录以使其保持加密状态。
sudo umount ./secret
现在再次检查所有文件都已加密(还有文件名)。然后我想访问我尝试使用以下行将其安装回来的文件
sudo mount ./secret ./secret -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=no,ecryptfs_enable_filename_crypto=yes
但我有一个
mount: /home/myname/mydir/secret: /home/myname/mydir/secret is not a block device.
第一次设置挂载点时我是否遗漏了什么?
答案1
好吧,经过一番研究后,我意识到对于我的情况,我需要在挂载命令中再次指定 -t ecryptfs:
sudo mount -t ecryptfs ./secret ./secret -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=no,ecryptfs_enable_filename_crypto=yes
然后它就起作用了。