使用文件名加密挂载 ecryptfs,但无需用户交互

使用文件名加密挂载 ecryptfs,但无需用户交互

我正在尝试编写一个由程序在运行时发出的命令,以使用 ecryptfs 挂载目录。这需要是一个非交互式过程,事先不知道任何信息,以便程序可以使用其他机器机密创建加密文件夹。我没有在这些机器上安装密钥环或其他类似的东西。

我到目前为止:

sudo mount -t ecryptfs -o "rw,key=passphrase:passphrase_passwd=george,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=n,verbose=0,no_sig_cache" ~/secure_1/ ~/secure_2/

这很棒,但我想做的是启用文件名加密。但是当我这样做时,系统提示我输入签名。我尝试提供一个签名,但似乎我需要提前知道这一点,以便它与密码短语匹配,但这对我来说没有用,因为正如我提到的那样,密码短语将使用机器机密生成。

sudo mount -t ecryptfs -o "rw,key=passphrase:passphrase_passwd=george,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=y,verbose=0,no_sig_cache" ~/secure_1/ ~/secure_2/

导致出现以下交互式提示:

Filename Encryption Key (FNEK) Signature [e983cfd4b25df524]:

我认为我需要做的就是停止此命令提示我输入 FNEK 签名。我不明白为什么当它与字段相同时必须提示它ecryptfs_sig,我尝试了很多方法来解决这个问题,但都无济于事,所以我来了。

谢谢任何提示或见解。

答案1

尝试添加:

ecryptfs_fnek_sig=e983cfd4b25df524

然后它看起来就像:

sudo mount -t ecryptfs -o "rw,key=passphrase:passphrase_passwd=george,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_passthrough=n,ecryptfs_enable_filename_crypto=y,ecryptfs_fnek_sig=e983cfd4b25df524,verbose=0,no_sig_cache" ~/secure_1/ ~/secure_2/

如果您需要更多信息:

man ecryptfs

相关内容