shred

Linux.fista
Siirry navigaatioon Siirry hakuun

shred on komento jolla tiedosto voidaan ylikirjoittaa. Toisin kuin rm, shred ei oletuksena poista tiedostoa vaan ylikirjoittaa sen jotta tiedoston palauttaminen olisi vaikeampaa. Oletuksena tiedosto ylikirjoitetaan satunnaisella datalla kolme kertaa. shredin käyttö ei suinkaan rajoitu pelkästään tiedostoihin vaan sillä voidaan ylikirjoittaa esimerkiksi levyasemia. Ohjelma on erityisen kätevä kun halutaan poistaa arkaluonteista dataa. shred on osa GNU Coreutils ohjelmistokokoelmaa.

Käyttö[muokkaa]

Info.png
Komennot, jotka alkavat merkillä $ (dollari) suoritetaan tavallisena käyttäjänä ja komennot, jotka alkavat merkillä # (ristikkomerkki) suoritetaan pääkäyttäjänä. Katso myös su ja sudo.

Tiedosto voidaan ylikirjoittaa komentamalla

$ shred tiedosto

Komento ei poista tiedostoa vaan ylikirjoittaa sen sisällön satunnaisella datalla. Jos halutaan lisäksi poistaa tiedosto, voidaan käyttää -u -valitsinta.

$ shred -u tiedosto

shredillä voidaan myös ylikirjoittaa esimerkiksi kiintolevyjä. Isompia tiedostoja tai asemia ylikrijoitettaessa on hyvä käyttää -v -valitsinta, jotta nähdään ohjelman edistyminen.

# shred -vf /dev/sda1

Esimerkki[muokkaa]

Ohjelman toimintaa voi tutkia esimerkiksi seuraavasti. Luodaan ensin testi.txt jonka sisältö on testi.

$ echo testi > testi.txt

Nyt nähdään että tiedoston testi.txt sisältö on testi.

$ cat testi.txt 
testi

Ylikirjoitetaan tiedosto shredillä.

$ shred testi.txt

Nyt voidaan tutkia tiedoston sisältöä esimerkiksi strings-ohjelmalla, jolloin nähdään että tiedoston sisältö on satunnaista sotkua.

$ strings testi.txt 
E;KY
)?rM
DAi!
GX1v!lD!
...

Tiedosto voidaan myös ylikirjoittaa nollilla, jolloin käytetään -z -valitsinta.

$ shred -z testi.txt

Nyt nähdään esimerkiksi hexdump-ohjelmalla että tiedoston sisältö on pelkkää nollaa.

$ hexdump testi.txt 
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0001000

Poistetaan lopuksi tiedosto.

$ shred -u testi.txt

Valinnat[muokkaa]

  • -f, --force - vaihda oikeuksia tarvittaessa jotta voidaan ylikirjoittaa
  • -n, --iterations=N - ylikirjoita tiedosto N kertaa oletuksen (3) sijasta
  • --random-source=FILE - lue satunnainen data tiedostosta
  • -s, --size=N - ylikirjoita näin monta tavua (jälkiliitteet kuten K, M ja G ovat sallittuja)
  • -u, --remove[=HOW] - lyhennä ja poista tiedosto ylikirjoituksen jälkeen.
  • -v, --verbose - näytä edistyminen
  • -x, --exact - älä pyöristä tiedostojen kokoja seuraavaan täyteen lohkoon
  • -z, --zero - kirjoita viimeinen kerta nollilla, jotta ylikirjoitus ei näkyisi