删除所有交换文件?

时间:2009-05-21 01:57:27

标签: privacy swapfile

许多程序都创建了大量的交换文件。他们惹恼了我,因为其中一些包含敏感信息。我应该如何处理它们?这个命令是个好主意:

find . -iname "*swp*" -exec rm '{}' \;

好的程序应如何处理交换文件?

3 个答案:

答案 0 :(得分:2)

如果文件因为包含敏感信息而“烦扰”您,那么您应该知道仅使用rm命令删除文件并不会实际删除硬盘驱动器上的数据。

我不确定您的交换文件在哪里或者创建它们的应用程序是什么。通常,交换文件由操作系统在特别指定的目录中创建。例如,在我的Mac上:

$ ls /private/var/vm/
-rw------T  1 root  wheel  4294967296 Mar 15 19:41 sleepimage
-rw-------  1 root  wheel    67108864 Mar 15 21:10 swapfile0
$ 

如果要删除交换文件中的信息,则确实需要覆盖它们。您可以使用“dd”执行此操作,但最好使用srm执行此操作。不幸的是,srm默认会覆盖每个文件7次,这是必要的6倍。 (与-s选项一起使用以获得单个覆盖)。

因此,如果您想使用您的查找,请使用:

find . -iname "*swp*" -exec srm -s {} \;

有意义吗?

答案 1 :(得分:0)

取决于它的运行位置,但它应该没问题,但我会将匹配修改为“* .stp”或“* swp”以获得更完美的匹配

答案 2 :(得分:0)

如果它们以您的用户ID身份运行,则创建的文件可能无法被其他任何人读取。如果他们那么你有更深层次的安全问题。