Перезапись диска

Можно сделать это с единственной командой sed. Во-первых, как общую стратегию, для извлечения части строки в sed, использование s команда, с regex, который соответствует целой строке (запускающийся с ^ и окончание $), с частью для сохранения в группе (\(…\)), заменяя целую строку содержанием группы (групп) для хранения. Передайте -n опция выключить печать по умолчанию и поместить p модификатор для печати строк, где существует что-то для извлечения. Можно ограничить извлечение далее путем добавления префикса команды regex, который должен соответствовать строке.

sed -n '/view external.*denied/ s/^.* client \([0-9.][0-9.]*\)#.*/\1/p'

Если Вы предпочитаете использовать awk, можно использовать sub функция для удаления части строки.

grep -E 'view external.*denied' /var/log/messages |
awk '{sub(/#.*/, "", $7); print $7}'

Можно также использовать index функция для определения местоположения # и substr функционируйте для извлечения части, которую Вы хотите сохранить.

grep -E 'view external.*denied' /var/log/messages |
awk '{print substr($7, 1, index($7, "#"))}'

Можно легко объединить команду grep в команду awk.

</var/log/messages awk '/view external.*denied/ {sub(/#.*/, "", $7); print $7}'
2
10.06.2014, 03:32
4 ответа

Еще одна опция Я только вчера читал:

openssl enc -aes-256-ctr -pass pass: "$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > random file. bin

Конечно, вы можете заменить randomfile.bin на что-то вроде /dev/sda

Это должно быть быстрее, чем если бы ядро давало вам случайные данные.

0
27.01.2020, 22:06

Performance...

При использовании dd используйте большой размер блока. До 4 Мб - это хорошо. Использование размера блока по умолчанию (512 байт) будет значительно медленнее.

dd if=/dev/urandom of=/dev/sda bs=4M

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

Если вы просто пытаетесь сделать это очень, очень, очень трудно, то не утруждайте себя урандами, а просто используйте /dev/zero

  • dd (правильного размера) будет быстрее.
  • Безопасность - это понятие, которое имеет значение относительно усилий, которые человек готов приложить для извлечения данных. dd и shred, скорее всего, будут иметь одинаковую приблизительную безопасность с этой точки зрения.

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

Обновление: Шред бессмыслененен.

Из документации на shred, он имеет ряд ограничений:

Пожалуйста, обратите внимание, что shred основывается на очень важном предположении: что файловая система перезаписывает данные на месте. Это традиционный способ делать вещи, но многие современные дизайны файловых систем не удовлетворяют этому. предположение. Исключения включают:

  • Структурированные по лог-файлам или журнальные системы, например, поставляемые с AIX и Solaris, и JFS, ReiserFS, XFS, Ext3 (в data=journal). ), BFS, NTFS и т.д., когда они настроены на запись данных в журнал.
  • Файловые системы, которые записывают избыточные данные и продолжают запись даже в случае сбоя некоторых из них, например, файловые системы на базе RAID.
  • Файловые системы, делающие снимки, такие как NFS-сервер сетевого устройства.
  • Файловые системы, которые кэшируют во временных местах, таких как клиенты NFS версии 3.
  • Сжатые файловые системы.

Для этого можно вставить ext4 (который по умолчанию имеет журналирование).

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

Возвращаемся к молотку......

1
27.01.2020, 22:06

Метод dd будет:

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

Программа shred многократно перезаписывает файл случайными данными, что может сделать его более "безопасным", чем dd, в зависимости от Ваших требований.

Однако эффективность shred зависит от файловой системы. Из man-страницы:

ВНИМАНИЕ: Обратите внимание, что shred основывается на очень важном предположении: файловая система перезаписывает данные на месте. Это традиционный способ, но многие современные конструкции файловых систем не удовлетворяют этому предположению.

В частности, shred может в конечном итоге вообще не делать ничего полезного на SSD.

2
27.01.2020, 22:06

Метод shred перезаписывает только существующие в настоящее время файлы. Он не стирает файлы, которые уже были стерты, включая старые версии существующих файлов, которые случайно оказались в пространстве, которое еще не было использовано повторно.

Метод dd перезаписывает весь диск.

Метод dd является неоправданно медленным, так как он перезаписывает случайные данные. Перезапись нулями также эффективна:

dd if=/dev/zero of=/dev/sda

Это можно сделать и с помощью cat; это может быть немного быстрее.

cat /dev/zero >/dev/sda

Совет многократной перезаписи случайными данными, а не нулями - это то, что было верно для дисковых технологий 20-летней давности - и даже тогда перезапись нулями работала неплохо. На современных жестких дисках достаточно перезаписи нулями. См. Почему запись нулей (или случайных данных) на жесткий диск в несколько раз лучше, чем просто сделать это один раз?.

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

На флэш-технологии, которые перераспределяют сектора (например, SSD-накопители), добавлена морщинка: после перезаписи всей поверхности в программном обеспечении, есть сектора, которые в настоящее время не отображаются и все еще имеют свое собственное содержимое. Эти сектора не могут быть прочитаны с помощью обычного интерфейса, но могут быть прочитаны с помощью зондирования внутри устройства хранения данных. (Насколько я знаю, это известная методика, но варьируется от умеренно дорогих до очень дорогих в зависимости от модели флэш-накопителя). Чтобы полностью стереть флэш-накопитель, в принципе, необходимо выполнить команду secure erase; однако [многие устройства не реализуют эту команду правильно](ATA security erase on SSD), поэтому всегда сначала выполняйте программное стирание.

0
27.01.2020, 22:06

Теги

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