1 заметка с тегом

dd

dd (dataset definition) — программа UNIX, предназначенная как для копирования, так и для конвертации файлов. Название унаследовано от оператора DD (Dataset Definition) из языка JCL. Название утилиты dd иногда в шутку расшифровывают, как «disk destroyer», «data destroyer» или «delete data», так как утилита позволяет производить низкоуровневые операции на жёстких дисках — при малейшей ошибке (такой, как реверс параметров if и of) можно потерять часть данных на диске (или даже все данные)

Поскольку в UNIX очень многие объекты (жёсткие/гибкие диски, COM/LPT-порты, оперативная память компьютера, память с кодом/данными каждого процесса) представлены в виде специальных файлов, спектр применения утилиты dd гораздо шире, чем кажется на первый взгляд. Регулярно возникает необходимость не просто скопировать файл или несколько файлов (для чего предназначена утилита cp), а скопировать первые n байт файла, пропустить m байт от начала, прочитать файл с дефектного носителя, транслировать содержимое файла в ASCII, «развернуть» порядок байтов в файле (Little-Endian vs. Big-Endian), просто скопировать очень большой файл или все вместе взятое. Для этой цели и служит dd. Кроме всего прочего, данная утилита позволяет скопировать регионы из файлов «сырых» устройств, например, сделать резервную копию загрузочного сектора жёсткого диска, или прочитать фиксированные блоки данных из специальных файлов, таких, как /dev/zero или /dev/random.

Уничтожить перед передачей

Перед тем как отдать старый сервер в плане переезда значилось: «не забыть почистить данные на дисках». Редко, но все же случаются оказии, когда клиенту вместо чистого сервера достается бывший в употреблении и не переустановленный экземпляр. На моей памяти была пара таких эпизодов. Не смотря на то, что особой секретности данные вроде бы не представляют, пароли на новом сервере новые, как-то не безопасненько отдавать сервер как есть.

Сначала удалили данные пользователей и самих пользователей. Потому удалили и деинсталлировали базу данных, apache2 / nginx и некоторые другие. Затем удалили конфигурационные файлы и данные. Проверили, что рейд синхронизировался, и на втором диске то же, что и на первом. Для уверенности «dd if=/dev/zero of=/dev/drive bs=4M» на обоих дисках. Более простым вариантом, чтобы слегка потешить паранойю, загрузились с внешнего диска и вновь прошлись dd по обоим дискам. Подозрительность может спать спокойно, враг не пройдет.