Postanowiłem sprzedać jeden z posiadanych dysków sieciowych (w celu zakupienia nowego, większego i lepszego) i stanąłem przed problemem wymazania znajdujących się danych. Wymazania, a nie skasowania czyli nie tylko usunięcia plików, ale także usunięcie pozostałości zalegających na nieużywanych obecnie obszarach dysku.

Pierwsze co zasugerował Google to komenda sfill z pakietu secure-delete. W wersji podstawowej wykonuje ona dwa przebiegi: najpierw wypełnia całe wolne miejsce losowymi bajtami, a następnie wypełnia je zerami. W wersji high-end wykonuje 38(!) przebiegów z różnymi kombinacjami danych losowych, zer i specjalnie opracowanych ciągów bajtów mających uniemożliwić odzyskanie oryginalnej zawartości. Ponieważ chciałem pozbyć się dysku jeszcze w tym roku, wybrałem wersję podstawową. Uruchomiłem sfill, zostawiłem komputer na kilka godzin i po sprawdzeniu okazało się, że wyczyszczone zostało około 1% wolnej powierzchni. Dalsze poszukiwania wskazały winowajcę: urządzenie /dev/urandom dostarczające losowych danych jest koszmarnie powolne.

Rozwiązaniem równie skutecznym - wierzę na słowo autorom dokumentacji - a znacznie szybszym okazał się OpenSSL (z małą tylko pomocą /dev/urandom). A dokładnie jakże urocze polecenie

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

zapisujące losowe dane do random.bin tak długo, aż skończy się wolne miejsce. Potem pozostało skasować utworzony plik i voilà. Dla pewności jeszcze tylko wyzerowanie wolnego miejsca:

cat /dev/zero >zero.bin

Cała operacja trwała nieco ponad dobę dla dysku o pojemności 2TB, co jest całkiem rozsądną ceną za to, iż nikt już nie odzyska moich zdjęć wujka Floyda i cioci Beth.

0 komentarze: