我想加密 ext4 文件系统上的文件夹。以下是我设置加密的方式:
[root@test /]# e4crypt add_key
Enter passphrase (echo disabled):
Added key with descriptor [5f23c1bfa081cfc5]
[root@test /]# mkdir /test
[root@test /]# e4crypt set_policy 5f23c1bfa081cfc5 /test
Key with descriptor [5f23c1bfa081cfc5] applied to /test.
我现在可以在 中创建和访问文件/test
。密钥还显示在 中keyctl
:
[root@test /]# keyctl show
Session Keyring
802247658 --alswrv 0 0 keyring: _ses
961235403 --alsw-v 0 0 \_ logon: ext4:5f23c1bfa081cfc5
我怎样才能再次删除此密钥,以使加密目录无法访问?
e4crypt new_session
和都keyctl unlink 961235403
从 中删除了密钥keyctl
,但目录仍然可以访问。
答案1
我认为系统缓存保存了您之前在内存中读取的目录和文件的内容,这就是为什么在取消链接密钥后您仍然可以看到内容的原因。
如果使用以下命令清除页面缓存、dentry 和 inode:
sync; echo 3 > /proc/sys/vm/drop_caches
那么你将无法看到内容。
我还读到,如果你重新挂载文件系统,它应该会执行相同的操作。