许多程序创建了大量的交换文件。他们惹恼了我,因为其中一些包含敏感信息。我应该如何处理它们?这个命令是个好主意吗:
find . -iname "*swp*" -exec rm '{}' \;
好的程序应该如何处理它们的交换文件?
如果文件因为包含敏感信息而“惹恼”您,那么您应该知道,简单地使用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 {} \;
有道理?
取决于它从哪里运行,但应该没问题,尽管我会将匹配修改为“*.swp”或“*swp”以获得更完美的匹配
如果它们以您的用户 ID 运行,则创建的文件可能无法被其他任何人读取。如果是,那么您将面临更深层次的安全问题。