我想要一个加密目录(不是 homedir!)比如说 /testdata。
我使用以下命令和参数对其进行加密:
root@pc:~# mount -t ecryptfs /testdata/ /testdata/
Passphrase:
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32
2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16
Selection [aes]:
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]:
Enable plaintext passthrough (y/n) [n]:
Enable filename encryption (y/n) [n]: y
Filename Encryption Key (FNEK) Signature [b9fc92f854a4c85b]:
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=b9fc92f854a4c85b
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=b9fc92f854a4c85b
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key
before. This could mean that you have typed your
passphrase wrong.
Would you like to proceed with the mount (yes/no)? : yes
Would you like to append sig [b9fc92f854a4c85b] to
[/root/.ecryptfs/sig-cache.txt]
in order to avoid this warning in the future (yes/no)? : yes
Successfully appended new sig to user sig cache file
Mounted eCryptfs
此命令创建此文件:
root@pc:~# cat .ecryptfs/sig-cache.txt
b9fc92f854a4c85b
现在我想更改之前使用的密码。我找到了命令ecryptfs-rewrap-passphrase
,但我不确定我是否走在正确的路径上:
root@pc:~# ecryptfs-rewrap-passphrase .ecryptfs/sig-cache.txt
Old wrapping passphrase:
New wrapping passphrase:
New wrapping passphrase (again):
Error: Unwrapping passphrase failed [-5]
Info: Check the system log for more information from libecryptfs
/var/log/syslog
说:
Jul 13 13:16:19 pc ecryptfs-rewrap-passphrase: ecryptfs_unwrap_passphrase: PK11_CipherOp() error; SECFailure = [-1]; PORT_GetError() = [-8188]
我对 ecryptfs 还只是新手,希望能够得到一些启发。
答案1
我看到您正在尝试将密码推送到具有其他含义的文件中。
ecryptfs-rewrap-passphrase /home/.ecryptfs/$USER/.ecryptfs/wrapped-passphrase
wrapped-passphrase
或者最肯定的是...但最好在隐藏目录中手动搜索.ecryptfs
:
ecryptfs-rewrap-passphrase /home/$USER/.ecryptfs/wrapped-passphrase
我认为这是更改密码的正确命令,$USER
你的用户在哪里
PS:最好不要登录并解密文件夹。
答案2
无法动态更改密码,因为 ecryptfs 会使用该密码单独加密每个文件,并且所有文件都需要使用新密码重写。
因此,您所能做的就是创建一个新目录,使用新密码挂载它并将所有文件复制到那里。
例外情况是当您使用 Ubuntu 在安装时创建加密的 /home/ 时。当以这种方式设置 Ubuntu 时,它不会直接使用您的密码进行文件加密,而是生成一个随机密码并保存到~/.ecryptfs/wrapped-passphrase
。然后使用您的个人密码加密该文件。因此,您的个人密码可能会更改,但文件加密密码保持不变。手动安装时可能可以重新创建该行为,但默认情况下情况并非如此,您的个人密码会直接用于文件加密。
答案3
实际步骤是在 Ubuntu 12.04 LTS 上:
从 Ubuntu CD/USB 启动使用 Nautilus 挂载分区(简单方法)
sudo ecryptfs-rewrap-passphrase /media/8de07fc2-637c-4218-b0e9-5043685c3e6b/home/.encryptfs/$USER/.ecryptfs/wrapped-passphrase
你必须恢复所有权
sudo chown 1000:root /media/8de07fc2-637c-4218-b0e9-5043685c3e6b/home/.encryptfs/$USER/.ecryptfs/wrapped-passphrase
重新开始