Вывод сценария Bash

Здесь может быть несколько недоразумений, поэтому команда не делает того, что вы, возможно, ожидаете.

sudoявляется лишним, так как вам не нужно sudoдля чтения из /dev/urandom. Часть > some-fileявляется перенаправлением оболочки и, таким образом, вообще не охватывается sudo. Так что ваш sudoсупер неэффективен.(Примечание:в этом конкретном случае sudoможет работать как задумано независимо, см. комментарии. Однако отказ от использования sudoтаким образом является шаблоном, так как в других случаях он укусит вас.)

Затем вы записываете в обычный файл. Это заполняет свободное пространство -файловой системы, в которой находится файл. Если у вас есть несколько файловых систем (, одна для /, одна для /home, загрузочные разделы и разделы подкачки и т. д. ), они также не затронуты.

В лучшем случае это перезаписывает только свободное пространство . Нет никакой гарантии, что он покроет все (, зависящее от внутреннего устройства файловой системы, корневого резерва, журнала, упакованного/зарезервированного и т.д. секторов ), и он не перезаписывает файлы, которые все еще находятся там регулярно (, и они могут включать файлы, спрятанные в папках корзины / эскизов / кеша или просто в каком-то подкаталоге, о котором вы забыли ).

Все они все равно будут подхвачены photorec, так как они никогда не перезаписываются.

Кроме того, запись этого файла должна быть завершена в первую очередь. Таким образом, вместо того, чтобы удалять его сразу после этого, вы должны сначала syncубедиться, что все эти случайные данные действительно попали на диск, а не только какой-то буфер записи в ОЗУ, который никогда не будет записан.

Таким образом, с этим методом нет никакой гарантии ни на что. В то же время это опасно, так как в файловой системе закончится свободное место,что, в свою очередь, может вызвать сбои записи для всех других программ и, таким образом, привести к непреднамеренной потере данных.

0
21.09.2021, 16:01
0 ответов

Теги

Похожие вопросы