Odpowiedzi:
Użyj find
polecenia, aby wykonać shred
rekurencyjnie:
find <dir> -type f -exec shred {} \;
man shred
.
srm
od odpowiedzi @ Cookie przynajmniej spróbuje osłabić ten problem).
-exec shred {} +
aby przyspieszyć, ponieważ shred akceptuje wiele argumentów.
Uważaj na strzępy!
Z podręcznej strony:
PRZESTROGA: Należy pamiętać, że niszczenie opiera się na bardzo ważnym założeniu: że system plików zastępuje dane w miejscu. Jest to tradycyjny sposób wykonywania zadań, ale wiele nowoczesnych projektów systemów plików nie spełnia tego założenia. Poniżej przedstawiono przykłady systemów plików, w których niszczenie nie jest skuteczne lub nie gwarantuje się, że będzie skuteczne we wszystkich trybach systemu plików:
logowane lub kronikowane systemy plików, takie jak te dostarczane z AIX i Solaris (i JFS, ReiserFS, XFS, Ext3 itp.)
systemy plików, które zapisują zbędne dane i działają nawet w przypadku niepowodzenia zapisu, takie jak systemy plików oparte na RAID
systemy plików, które wykonują migawki, takie jak serwer NFS urządzenia sieciowego
systemy plików buforowane w tymczasowych lokalizacjach, takie jak klienci NFS w wersji 3
skompresowane systemy plików
W przypadku systemów plików ext3 powyższe zastrzeżenie ma zastosowanie (a zatem niszczenie ma ograniczoną skuteczność) tylko w trybie data = dziennik, który rejestruje dane pliku oprócz samych metadanych. Zarówno w trybie data = uporządkowany (domyślnie), jak i data = zapis zwrotny, niszczenie działa jak zwykle. Tryby kronikowania Ext3 można zmienić, dodając opcję data = coś do opcji montowania dla konkretnego systemu plików w pliku / etc / fstab, jak udokumentowano na stronie man montowania (montowanie man).
Ponadto kopie zapasowe systemu plików i zdalne kopie lustrzane mogą zawierać kopie pliku, których nie można usunąć, co pozwoli później odzyskać zniszczony plik.
Rozwiązanie: Użyj zaszyfrowanego systemu plików i po prostu usuń pliki.
shred
i szyfrowanie danych uniemożliwiają odczyt danych z offline urządzenia pamięci (kradzież lub policja) z szyfrowaniem danych, które ma dodatkową zaletę ochrony wszystkich plików, a nie tylko tych (prawidłowo) usuniętych. Po zamontowaniu systemu plików wracamy do dobrych olxowych uprawnień w obu przypadkach, a ochrona danych staje się ponownie zadaniem bezpieczeństwa systemu operacyjnego i prawidłowego administrowania systemem. Szyfrowanie systemu plików z góry nie jest zdecydowanie gorsze w ochronie danych w spoczynku niż strategiczne użycie shred
!
Zamiast tego użyj bezpiecznego usuwania.
sudo apt-get install secure-delete
srm -r pathname
Gotowy. Bezpieczne usuwanie jest o wiele bardziej paranoiczne niż niszczenie, przy użyciu 38 przebiegów zamiast 3. Aby wykonać szybki pojedynczy przebieg, użyj
srm -rfll pathname
fll daje ci mniej losowy generator danych i tylko jedno przejście.
find
metod opartych na proponowanych metodach, które będą próbowały również wymazać zapisane nazwy plików poprzez zmianę nazw plików przed ich obcięciem i odłączeniem.
Łącząc tę odpowiedź z najbardziej znanymi opcjami niszczenia za pomocą tego linku przepełnienia stosu „ Trwale i bezpiecznie usuwając pliki w CentOS ”:
find <directory> -depth -type f -exec shred -v -n 1 -z -u {} \;
Edycja: należy pamiętać, że najlepsza odpowiedź na niszczenie pojedynczego pliku wymusza synchronizację, która zapisuje zmiany na nośniku przed usunięciem pliku, ponieważ niektóre lub wszystkie kronikowane systemy plików mają bufor.
Jeśli to możliwe, polecenie find powinno wywołać skrypt powłoki w pliku, który działa:
shred -v -n 1 /path/to/your/file #overwriting with random data
sync #forcing a sync of the buffers to the disk
shred -v -n 0 -z -u /path/to/your/file #overwriting with zeroes and remove the file
na każdym pliku.
rm -rvf $1
do skryptu powłoki (gdzie 1 $ to plik / path / to / your / przekazany z {}
rozszerzenia w find... -exec
)
depth
tu robi? Również niepewny co do odwrotnego ukośnika
find /your/directory -exec shred {} \;
find [dirname] -depth -type f -exec shred -n1 {} \;
Wykonuje to wyszukiwanie w pierwszej kolejności plików w katalogu [nazwa_katalogu], a następnie uruchamia shred -n1
polecenie dla każdego pliku. Podczas usuwania plików i / lub katalogów dodawanie -depth
jako domyślny jest dobrym nawykiem, nawet jeśli nie jest to absolutnie potrzebne w tym przypadku. Podczas uruchamiania tego rodzaju polecenia za pomocą rm -rf
zamiast shred
, -depth
należy upewnić się, że katalogi nie zostaną usunięte przed próbą usunięcia zawartości katalogów (powodując w ten sposób błędy).
shred -N 1
, ponieważ domyślnym, niszczeniem 3 razy, jest olej wężowy. Albo wystarczy jeden raz, albo 30 razy nie zadziała.
Najbardziej dokładną shred
metodą, jaką znalazłem, obejmującą również usunięcie katalogu, jest find
wywołanie skryptu w celu shred
:
Ta metoda również poprawnie obsługuje nazwy plików ze spacjami.
Po pierwsze - shred
skrypt (nazwałem mój dirShredder.sh
i zapisałem go w /root
katalogu:
shred -v -n 1 "$1" #overwriting with random data
sync #forcing a sync of the buffers to the disk
shred -v -n 0 -z -u "$1" #overwriting with zeroes and remove the file
rm -rvf "$1" # call rm to remove the directories
Następnie wywołaj skrypt w następujący sposób:
find /volume1/pathToShred/ -mindepth 1 -depth -exec /root/dirShredder.sh "{}" \;
Pamiętaj, aby zaznaczyć killit.sh
plik wykonywalny ( chmod +x
) i oczywiście zaktualizować ścieżkę do katalogu, który chcesz zniszczyć, i do, dirShredder.sh
jeśli przechowujesz go w innym miejscu.
NOTA BENE - shred
ma problemy z systemami plików Copy-on-Write (ZFS, BTRFS, i in.), A nawet z systemami plików Journaling. Nie ma tak naprawdę przyjętego „najlepszego” sposobu na poradzenie sobie z tym, co znalazłem, poza „zaszyfrowanymi systemami plików”, ale nie jestem pewien, jak skuteczne jest to po fakcie.
Najbliżej, jak się wydaje, jest to, że możesz zastąpić całą pustą przestrzeń na dysku losowymi danymi po niszczeniu operacji (nie zer, wydaje się, że nie zawsze jest to wiarygodne). Ponadto dyski SSD mogą mieć także inne względy (takie jak TRIM.)
Nie wchodzę tutaj w te pytania, istnieją inne odpowiedzi stosu (na przykład odpowiedź nieznanego użytkownika w tym pytaniu) i mnóstwo dyskusji w sieci, które obejmują te tematy, więc wyszukaj je, jeśli potrzebujesz takiego poziomu bezpieczeństwa.