当我在ubuntu 15.04
上使用ecryptfs-setup-private
时,我被要求输入登录密码并设置挂载密码。
~$ ecryptfs-setup-private -f
Enter your login passphrase [******]:
Enter your mount passphrase [leave blank to generate one]:
Enter your mount passphrase (again):
我假设挂载密码短语将用作挂载Private
目录的实际密码短语。但是当我执行ecryptfs-mount-private
时,我的挂载密码返回了一个错误,而用户的系统登录密码成功了。有人知道为什么吗?
~$ ecryptfs-mount-private
Enter your login passphrase:
Error: Unwrapping passphrase and inserting into the user session keyring failed [-5]
Info: Check the system log for more information from libecryptfs
ERROR: Your passphrase is incorrect
Enter your login passphrase:
Inserted auth tok with sig [****************] into the user session keyring
PS:ecryptfs-mount-private
另一台已安装ubuntu 14.04
机器上使用挂载密码,所以我怀疑它与 ubuntu 版本有关。
因为ecryptfs-utils
包是硬编码的,带有一些假设,例如:
- 您的加密文件存储在
~/.Private
目录中。 - 您的解密数据将挂载
~/Private
目录中。 - 加密密钥存储在
~/.ecryptfs
中。 - 加密密钥只是使用您的登录密码包装(编码)的挂载密码,存储在
~/.ecryptfs/wrapped-passphrase
中。 - 使用
AES
和16-byte
密钥密码加密数据。
因此,每当您尝试使用ecrypt-utils
挂载eCryptfs
时,它都会要求您输入登录密码来解密wrapped-passphrase
文件以获取实际的挂载密码,然后使用它来挂载文件系统,这是有充分理由的。
它使用您的默认登录密码,这样您就不必记住两个不同的密码短语,更重要的是,在您登录时自动挂载它,因为它使用您用于登录的密码来解锁您的Private
数据。
如果您将挂载密码留空,它将被一个很长的随机挂载密码短语所取代,这很难猜到,从而使您的.Private
目录更加安全,因为黑客可以访问它,但不能访问您的wrapped-passphrase
,他们将不得不猜测您甚至不必记住的很长的挂载随机密码。这种技术的缺点是丢失wrapped-passphrase
文件并且您不知道真正的挂载密码,即使您将无法再访问解密的数据。
在您的情况下,您的自定义挂载密码短语包含在~/.ecryptfs/wrapped-passphrase
中,要挂载它,您需要输入您的登录密码,但文件系统实际上是使用挂载密码解锁的。
在其他没有wrapped-passphrase
文件的计算机上,它直接使用您提供的密码作为挂载密码,因此它可以在那里工作。
要使用自定义密码加密和解密数据,您至少有两个选项:
选项 1:使用自定义换行密码
在设置私有目录时将--nopwcheck
传递给ecryptfs-setup-private
不会强制输入真正的登录密码作为包装密码,因此发出:
$ ecryptfs-setup-private --nopwcheck
将接受您在Enter your login passphrase [******]:
之后输入的任何密码。
对于挂载密码,您可以再次输入相同的密码,或将其留空以生成一个密码,但如果您担心在自动生成时丢失wrapped-passphrase
,您可以发出:
$ ecryptfs-unwrap-passphrase ~/.ecryptfs/wrapped-passphrase
这将为您打印出真正的安装密码,您可以写下并保存在安全的地方以备不时之需。
选项 2:使用低级安装
低级挂载直接使用挂载密码。不包括包装/展开。发行
# mount -t ecryptfs ~/.Private ~/Private
将向您展示一个交互式安装。除非您知道自己在做什么,否则请选择与ecryptfs-utils
兼容的选项,它们如下所示:
keytype
:passphrase
,passphrase
: 输入实际挂载密码短语(不包装密码),cipher
:AES
,key bytes
:16
,plaintext paththrough
:no
,filename encryption
:yes
,fnek signature
: 留空(默认)。如果要求,请继续挂载并向sig-cache.txt
添加签名。
即使两个目录为空,此命令也只能有效地用于在这些自定义目录中设置新目录,但建议在使用它来设置新的加密目录时不要将其与标准Private
一起使用,并.Private
目录,以免导致与标准ecryptfs-utils
自动挂载不兼容。
参见:eCryptfs - ArchWiki