Trwałe usuwanie plików i katalogów w Linuksie
Ostatnia aktualizacja: 17 września 2023, 20:01
Nieświadomość zagrożenia wynikającego z pozoru prostej czynności jaką jest kasowanie plików może przysporzyć wielu problemów, w szczególności jeśli na komputerze przechowujemy poufne dane. Zwykłe usunięcie pliku nie gwarantuje, iż nie wpadnie on w niepowołane ręce. W rzeczywistości ktoś, kto dysponuje odpowiednim oprogramowaniem może bardzo łatwo przechwycić skasowane dane. Większość użytkowników jest nieświadoma zagrożenia lub nie wie w jaki sposób bezpiecznie usuwać dane. W tym artykule przedstawię dwie metody trwałego kasowania plików.
Opis bazuje na dystrybucji Linux Debian, wersja testing (Wheezy).
Kasowanie plików za pomocą narzędzia shred
Do trwałego skasowania pliku można użyć narzędzia shred. Uruchamiamy konsolę, wciskamy kombinację ALT+F2 i w oknie Uruchom program wpisujemy np. xterm. Oczywiście możemy użyć innych emulatorów konsoli jak choćby gnome-terminal.
Aby zapoznać się z opisem programu i funkcjami, w oknie konsoli wpisujemy polecenie:
shred --help
Najbardziej będą nas interesowały 4 opcje:
- -f, –force – wymuszenie nadpisania pliku.
- -u, –remove – skasowanie pliku po zamazaniu.
- -z, –zero – dodatkowe zamazanie zerami, aby ukryć zamazywanie.
- -n, –interations=N – zamazanie N razy zamiast domyślnych 3 razy.
W przypadku czwartego argumentu -n, który definiuje liczbę przebiegów. W praktyce skasowanie pliku przy pomocy jednokrotnego nadpisania predefiniowanym patternem spowoduje jego nieodwracalne zamazanie, dzięki czemu żadna specjalistyczna aplikacja do odzyskiwania danych nie będzie zdolna go odczytać.
Narzędzie shred bez podanego parametru -n zamazuje plik korzystając z trzech przebiegów,
co w zupełności wystarczy. Jednakże osoby, które chciałyby wykonać niestandardową liczbę nadpisań,
mogą skorzystać ze wspomnianego argumentu -n.
Przejdźmy do konkretów. W niniejszym przykładzie przyjmiemy, że plik który chcemy skasować znajduje się na Pulpicie (lokalizacja /home/nazwa_użytkownika/Pulpit), a nazwa pliku to najnowszeceny.txt
Aby trwale skasować plik wpisujemy:
shred -fuz /home/nazwa_użytkownika/Pulpit/najnowszeceny.txt
Wpisujemy wpierw nazwę narzędzia, następnie podajemy argumenty i na końcu definiujemy ścieżkę dostępu do pliku najnowszeceny.txt
W przypadku niestandardowego nadpisywania polecenie wygląda następująco:
shred -fuz -n10 /home/nazwa_użytkownika/Pulpit/najnowszeceny.txt
Narzędzie nie informuje o postępach pracy, chyba że włączymy opcję verbose (-v):
shred -fuzv -n10 /home/nazwa_użytkownika/Pulpit/najnowszeceny.txt
A co z kasowaniem katalogów? Niestety shred nie potrafi zamazywać katalogów i podkatalogów. Alternatywą może być tutaj narzędzie wipe.
Trwałe kasowanie plików z Wipe
Żeby zainstalować wipe wpisujemy w konsoli:
sudo aptitude install wipe
Wprowadzamy hasło (to co wpiszemy nie będzie wyświetlane na ekranie) i zatwierdzamy instalację klawiszem ENTER. W konsoli pojawi się pytanie czy kontynuować, oczywiście zatwierdzamy operację, wciskamy klawisz Y lub T.
Więcej informacji o narzędziu i jego funkcjach dowiemy się wpisując polecenie:
wipe --help
lub
man wipe
Narzędzie wipe można obsługiwać z wiersza poleceń, lecz ten wariant nie każdemu przypadnie do gustu. Osoby korzystające ze środowiska GNOME mogą zainstalować dodatek do menedżera Nautilus, dzięki czemu kasowanie plików stanie się bardzo proste.
Aby zainstalować dodatek uruchamiamy konsolę i wpisujemy:
sudo aptitude install nautilus-actions
Skrypt akcji pobieramy ze strony Grumz.net
Uruchamiamy kreator dodawania nowej akcji, wpisujemy:
nautilus-actions-config-tool
W oknie narzędzia klikamy Tools => Import assistant
Na ekranie powitalnym klikamy Dalej.
Kreator poprosi nas o wskazanie pliku, który chcemy importować. Wskazujemy wipe-selected.schemas, następnie przechodzimy do kolejnego kroku, klikamy Dalej.
W oknie Managing duplicates pozostawiamy domyślne ustawienia i przechodzimy Dalej.
W kolejnym kroku Summary klikamy Zastosuj.
Jeśli import zakończy się powodzeniem (Import is done) na ostatnim ekranie klikamy Zamknij.
W widoku Nautilus-Actions Configuration Tools pojawi się nowy wpis Wipe selected. Aby zapisać nową akcję należy kliknąć wskazany przycisk lub z menu wybrać File => Save.
Oczywiście nic nie stoi na przeszkodzie, aby zmodyfikować treść etykiety i podpowiedzi na preferowaną wersję językową. Tekst w polu Context label będzie wyświetlany w menu kontekstowym menedżera Nautilus.
Pora wypróbować nową funkcjonalność. Tworzymy na Pulpicie plik tekstowy i katalog. Zaznaczamy elementy i klikamy prawym przyciskiem myszki na jednym z elementów. Menu kontekstowe będzie zawierało nowy wpis Nautilus-Actions, z podmenu wybieramy Wipe selected. Po wykonaniu akcji, zarówno plik jak i katalog powinny zostać bezpowrotnie usunięte.
Autor: Mariusz Kołacz
Więcej podobnych artykułów znajdziesz na moim blogu techformator.pl
Witaj Franek
Tak oczywiście Masz tutaj racje, shred zawiera wiele ograniczeń, które warunkują jego skuteczność to też nie bez powodu opisana została kolejne metoda z wykorzystaniem narzędzia wipe.
Informację tą pominąłem licząc że każdy z Was wklepie polecenie shred –help, które to powoduje wyświetlenie szczegółowych informacji na temat narzędzia.
Pozdrawiam
Dlaczego autor pominął z mana shred’a taki istotny fragment jak:
„Zauważ, iż w shred poczyniono pewne bardzo istotne założenie: że używany system plików nadpisuje dane w miejscu. Taki jest tradycyjny sposób wykonywania tej operacji, ale wiele współczesnych projektów systemów plików nie spełnia tego założenia. Wyjątki obejmują:
*
Systemy plików oparte o rejestrację (log) lub dziennik zmian (journaling), jak dostarczane z AIX czy Solarisem.
*
Systemy plików zapisujące nadmiarowe dane i działające nawet jeśli któryś z zapisów zawiedzie, tak jak systemy plików bazujące na RAID.
*
Systemy plików tworzące tzw.snapshots („zdjęcia stanu”), jak Network Appliance NFS server.
*
Systemy plików z buforowaniem (cache) w tymczasowych miejscach, jak klienci NFS wersji 3.
*
Kompresowane systemy plików.
Jeśli nie mamy pewności jak działa nasz system plików, powinniśmy założyć, że nie nadpisuje danych w miejscu, co oznacza, że shred nie może w sposób godny zaufania działać na zwykłych plikach tego systemu.
Mówiąc ogólnie, pewniej jest niszczyć dane całego urządzenia niż pliku, gdyż obchodzi się wówczas problem konstrukcji systemu plików wspomniany powyżej. Jednak nawet niszczenie danych z całych urządzeń nie zawsze jest całkowicie godne zaufania. Na przykład, większość dysków zaznacza błędne sektory w sposób niewidzialny dla aplikacji; jeżeli złe sektory zawierają ważne dane, shred nie będzie w stanie ich zniszczyć.
shred nie podejmuje żadnych prób wykrycia lub zgłoszenia takich kłopotów, tak jak nie usiłuje niczego robić z kopiami zapasowymi. Jednak, ponieważ pewniejsze jest „niszczenie” za jego pomocą całych urządzeń niż plików, shred domyślnie nie obcina ani nie usuwa pliku wynikowego. Takie zachowanie jest bardziej odpowiednie dla urządzeń, które zwykle nie mogą być obcięte (trunctated) ani nie powinny być usuwane.”
linuxreviews.org/man/shred/index.html.pl
@Rafał, dla systemu Windows także znajdziesz wiele podobnych programów. Jednym z najpopularniejszych jest Eraser: heidi.ie/eraser/download.php
A czy jest coś takiego na windows? Przepraszam za herezje ale na drugim kompie mam windowsa a coś takiego by się przydało. czasami też tam zrobić.
Również posiadam Windowsa, tyle że go nie używam ( dodatek do laptopa 🙂 ). Nie mam pojęcia czy coś takiego istnieje – prawdę powiedziawszy zdziwiłbym się gdyby nie istniało.
Pozdrawiam
pavroo
Niezły tutorial. Mam sporo własnych projektów, które wolałbym zachować wyłącznie dla siebie wiec jestem ciekaw czy to pójdzie na Ubuntu.