因为ecryptfs-utils包是硬编码的,有一些假设,如:
- 您的加密文件存储在
~/.Private目录中。
- 您的解密数据将挂载在
~/Private目录中。
- 加密密钥存储在
~/.ecryptfs.
- 加密密钥只是使用您的登录密码包装(编码)的安装密码,存储在
~/.ecryptfs/wrapped-passphrase.
AES在加密数据时与16-byte密钥密码一起使用。
因此,每当您尝试挂载eCryptfsusingecrypt-utils时,它都会要求您输入登录密码来解密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