当垃圾在 eCryptfs 中/文件位于其他驱动器上时,Nautilus 无法将文件移至垃圾

当垃圾在 eCryptfs 中/文件位于其他驱动器上时,Nautilus 无法将文件移至垃圾

我以前只需按下Delete上所选文件的键Nautilus,它就会在不确认的情况下删除文件。这非常方便。

我后来认为我的垃圾箱可能包含敏感文件,因此将其移动到 eCryptfs文件夹,并在其位置Private创建符号链接。~/.local/share

此后,当我Delete提交里面 eCryptfs,行为符合预期,没有问题。另一方面,当我尝试删除主目录中的文件时,外部eCryptfs,我收到此消息:

文件不能放入垃圾箱

从中删除项目时也会出现同样的行为不同的驱动器...

是否有一种解决方法,可以自动将其放入我的加密垃圾箱中,即使它属于另一个/未加密的驱动器/安装座?

如果确实无法做到,那么是否Trashes可以设置两个?一个用于加密文件,另一个用于未加密文件?

答案1

当您使用 Nautilus 将文件移至垃圾箱或gvfs-trash当您使用绝不移至另一卷。它们是“renamed” 到同一卷上的另一个目录条目(垃圾目录内)。请注意,该函数的文档解释说,文件不能“重命名”到不同的卷或挂载点。

这意味着将文件从加密卷移到垃圾箱(无论是通过 eCryptFS、dm-crypt/LUKS 还是其他需要内核挂载的东西)将绝不~/.local/share/Trash导致文件解密。因此,我认为链接到下面的某些内容没有什么好处~/Private。您可以使用以下命令进行测试:

cd ~/Private
touch foobar.txt
gvfs-trash foobar.txt
ls -1 ~/.local/share/Trash/files/foobar.txt* ~/Private/.Trash-*/files/foobar.txt*

你应该得到类似这样的结果:

ls: cannot access /home/david/.local/share/Trash/files/foobar.txt*: No such file or directory
/home/david/Private/.Trash-1000/files/foobar.txt

有趣的是,该文件没有出现在我的虚拟垃圾文件夹中:

$ gvfs-ls trash:// | grep -cwFe foobar.txt
0

(当我这样做时,效果也是相同的gvfs-trash ~/foobar.txt。)


出于上述原因,我认为使用 gvfs-trash 的当前实现,不可能将垃圾放在与发送到垃圾的文件的原始卷不同的卷上。

相关内容