Что «type nul> somefile» делает с «somefile» в Windows?

11

В частности, type nul > somefileперезаписывает ли весь файл на диске? Я видел, как веб-сайт пакетного сценария рекомендовал создавать сценарий FTP на лету, а затем «безопасно» стирать его с помощью команды в заголовке. Есть ли в этом заслуга?

Уэс
источник

Ответы:

9

Что «type nul> somefile» делает с «somefile» в Windows?

  1. Во-первых, somefileоткрывается для записи - это автоматически приводит к усечению файла до 0 байт. Данные все еще остаются на диске, просто помечены как «свободные» в растровом изображении

  2. Затем содержимое nulзаписывается в somefile- в данном случае ровно в ноль байтов, поскольку вы ничего не можете прочитать из nul. Старые данные не перезаписываются.

  3. Файл закрыт.

Я видел, как веб-сайт пакетного сценария рекомендовал создавать сценарий FTP на лету, а затем «безопасно» стирать его с помощью команды в заголовке. Есть ли в этом заслуга?

Это не более "безопасно", чем del somefile. Он даже не удаляет данные с диска.

Для безопасного удаления файла используйте утилиту очистки, такую ​​как sdelete или Eraser . Хотя стоит ли использовать FTP-скрипт для безопасного удаления?

user1686
источник
1
«Является ли FTP-скрипт действительно безопасным удалением» - ну, он предоставляет пароль в виде открытого текста на удаленной машине.
Уэс
2
@wes: Если вы не можете обеспечить физическую и операционную безопасность компьютера, чтобы предотвратить восстановление указанного скрипта, то вы также не можете гарантировать, что трафик FTP не будет перехвачен ... Но несколько советов. Переключитесь на более безопасный протокол - SFTP или хотя бы FTP / TLS. Кроме того, создайте отдельный каталог для файла, содержащего пароль (либо сценарий, либо файл конфигурации клиента), и включите для него шифрование EFS. Все новые файлы внутри будут автоматически зашифрованы на уровне ОС. Оба протокола поддерживают аутентификацию с открытым ключом в качестве альтернативы.
user1686
И обратите внимание, что на SSD все ставки выключены; в настоящее время вы просто не можете стереть их, поскольку фактические биты на устройстве отделены как минимум одним уровнем абстракции от ОС.
Джои
Поэтому единственное решение - не сохранять учетные данные в незашифрованном виде на диске.
user1686
Есть ли способ восстановить этот файл / исходные данные, которые были обновлены с типом nul> имя файла?
Исаия 4110
2

Он может «перезаписать» файл нулями, но даже если это так, это вряд ли безопасное удаление. Вам будет лучше использовать SDelete для этого, если вы можете.

Кристи
источник
1

Удаление файла не помешает сторонним утилитам удалить его снова, однако вы можете превратить любой файл в файл с нулевым байтом, чтобы уничтожить цепочку размещения файлов следующим образом:

TYPE nul> C: \ examples \ MyFile.txt

DEL C: \ examples \ MyFile.txt

Источник на полпути вниз по странице

Moab
источник
Чем это отличается от DELиспользования файла? В любом случае ОС собирается перезаписать это место на диске, да?
Уэс
1
В конце концов, да, но когда, в следующем году? Нет способа узнать когда.
Моав
Моя точка зрения состоит в том, чтобы определить, какие непосредственные / полезные эффекты "разрушение цепочки размещения файлов" имеет по сравнению с простым удалением файла.
Уэ
Немедленное уничтожение данных (файла), поэтому вы не можете использовать программное обеспечение для его восстановления, как если бы вы просто удаляли его, по крайней мере, это мой выбор.
Моав