我想用来secure-delete
安全地删除文件夹/文件,并且我做了以下测试:
mkdir foldertest
echo "something" > foldertest/filetest.txt
srm -rv foldertest/
结果如下:
Using /dev/urandom for random input.
Wipe mode is secure (38 special passes)
Wiping foldertest/ DIRECTORY (going recursive now)
Wiping filetest.txt ************************************** Removed file filetest.txt ... Done
Warning: Couldn't find a free filename for foldertest/!
Removed directory foldertest/ ... Done
该文件夹foldertest
(及其内容)已成功删除,但我没有收到警告:
Warning: Couldn't find a free filename for foldertest/!
安全取消程序是否顺利进行?
眼镜:
- ubuntu 4.4.0-75-通用
- 安全删除 3.1-6ubuntu1
谢谢
答案1
我认为这是你的 srm 行末尾的斜线:
srm -rv foldertest/
(我猜它出现是因为你曾经Tab在 shell 中自动完成文件名。)
srm 似乎不喜欢目录名末尾有斜线。我已通过电子邮件联系了该人员,询问是否可以忽略该警告,或者这是否意味着文件名未被随机数据覆盖。如果他回复,我会更新。
编辑,摘要:他说,如果您看到该警告,则表示目录中的数据已被安全删除,但目录的文件名尚未删除,因此可以通过取证恢复。省略斜线可以阻止错误,所以我会这样做,尽管这只是我的想法 - 他没有确认我的想法(请参阅下面的回复)。
(自动完成功能当然非常有用,sed
如果删除斜线对您有用的话,使用 bash 函数从参数末尾删除斜线可能是一种方法。)
开发人员的完整回复(Van Hauser,他的电子邮件地址在 srm 手册页中):
你好,
不知道“/”是不是问题所在。我已经有 10 年没看过代码了?;)但所有数据都被抹去了。唯一没有发生的事情是 test_dir 没有被重命名,因此目录名称仍然可以通过取证恢复。
问候,vh
(“test_dir” 只是相当于我发给他的代码示例中的“foldertest”)