Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "andreas-xavier/Prova6"
Differenze tra le versioni 104 e 105
Versione 104 del 05/04/2022 20.40.12
Dimensione: 5922
Commento:
Versione 105 del 05/04/2022 20.42.11
Dimensione: 9062
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page created by wilecoyote
Linea 5: Linea 4:
<<Include(NuoviStrumentiWiki/PaginaDiProva)>>
Linea 6: Linea 6:
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=648931"; rilasci="22.04 20.04 18.04")>> <<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=647231"; rilasci="21.04 20.04 18.04";)>>
Linea 8: Linea 8:
= Introduzione = = Introduzione  =
Linea 10: Linea 10:
Di seguito viene presentata una guida concisa all'uso del programma '''e2fsck''', utile per interdire l'uso da parte del sistema di eventuali blocchi danneggiati fisicamente sul disco rigido, spesso circoscritti a singole partizioni.<<BR>>
'''e2fsck''' è specifico per partizioni formattate con [[AmministrazioneSistema/Filesystem|filesystem]] '''ext2''', '''ext3''' e '''ext4'''.
'''Foremost''' è uno strumento da riga di comando per il recupero dei file. La tecnica utilizzata è il ''[[https://en.wikipedia.org/wiki/File_carving|data carving]]'', che utilizza le tracce degli header, dei footers e della struttura interna dei dati stessi, senza considerare i metadati del filesystem.<<BR>>
Foremost può operare sia su file immagine, sia su supporti fisici quali unità flash, hard disk, schede di memoria ecc. Supporta diversi tipi di filesystem (Fat16/32, Ext3/4, NTFS ecc.) e moltissimi formati di file (`.jpg`, `.png`, `.zip`, `.avi`, `.pdf`, `.doc`, `.exe`, ecc.).
Linea 13: Linea 13:
Si raccomanda di eseguire i passaggi illustrati di seguito tramite un sistema avviato in modalità '''[[https://wiki.ubuntu-it.org/Installazione/CreazioneLiveUsb|Live]]''', oppure da un altro sistema '''GNU/Linux''' installato su un secondo disco rigido, tramite un ambiente '''[[AmministrazioneSistema/Chroot|Chroot]]''', e previo [[AmministrazioneSistema/ComandiBase#umount|smontaggio]] del disco rigido su cui si vuole operare. Sviluppato originariamente da enti governativi statunitensi quali l'Ufficio Investigazioni speciali della ''United States Air Force'' e il ''CISR'' (''Center for Information Systems Security Studies and Research''), è stato successivamente reso di pubblico dominio.
Linea 15: Linea 15:
{{{#!wiki note
Il programma è concepito per essere utilizzato esclusivamente su hard disk e __non__ su [[https://it.wikipedia.org/wiki/Unità_di_memoria_a_stato_solido|SSD]].
{{{#!wiki important
Per evitare sovrascritture accidentali di dati, si raccomanda di eseguire il programma su un file immagine di backup a basso livello (a tal fine è possibile usare lo strumento [[AmministrazioneSistema/BackupDelSistema#Backup_con_dd|dd]]), anziché operare direttamente sul supporto di memoria dal quale si vogliono recuperare i file.
Linea 18: Linea 18:

== Informazioni utili ==

Sintomi tipici di danni fisici agli hard disk possono essere blocchi del sistema, difficoltà o impedimento all'accesso ai dati, rallentamenti nell'uso.<<BR>>
La problematica è causata da un errato movimento dei meccanismi interni dei [[https://it.wikipedia.org/wiki/Disco_magnetico|dischi rigidi magnetici]].

Per verificare la presenza di difetti fisici consultare [[Hardware/DispositiviPartizioni/VerificaDiscoFisso#Controllo_per_difetti_fisici|questa guida]].

Tenere presente che:
 * I danni fisici al disco rigido non sono riparabili; pertanto non aprire l'involucro dell'hard disk per tentare riparazioni.
 * La presenza di danni al disco rigido, per quanti piccoli e limitati, può ridurne drasticamente l'attesa di vita. Eseguire quindi [[AmministrazioneSistema/BackupDelSistema|backup]] frequenti dei dati e provvedere quanto prima alla sostituzione del disco.
 * In presenza invece di danni importanti, usare questa procedura solo come propedeutica all'esecuzione del backup o al [[https://wiki.ubuntu-it.org/AmministrazioneSistema/RecuperoDati|recupero di dati persi]], quindi sostituire senza indugiare oltre il disco rigido difettato.
Linea 33: Linea 21:
Il pacchetto richiesto è preinstallato.
{{{#!wiki note
Rimuovere tale pacchetto potrebbe compromettere il funzionamento del sistema.
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://foremost|foremost]].

= Utilizzo =

Durante l'estrazione dei dati, il programma esegue di default le seguenti azioni:
 * crea una cartella chiamata `output` nella stessa posizione dal quale viene lanciato il comando (ad esempio la '''Home''' dell'utente, se il terminale è su `~`).
 * crea all'interno di questa directory delle sottocartelle corrispondenti al formato dei file che vengono recuperati (ad esempio `jpg`, `txt`, `zip` ecc.). Per consultare tutti i formati di file riconosciuti consultare la [[#ulteriori_risorse|pagina man]] del programma.
 * al termine della procedura elimina eventuali sottocartelle vuote, per le quali non sono stati trovati file corrispondenti.
 * crea all'interno della cartella di salvataggio il file `audit.txt`, contenente un report delle azioni svolte dal programma.
 * attribuisce ai file eventualmente trovati un nome ricavato dall'indirizzo del settore sul quale sono allocati (non considera perciò il nome originario, in quanto il programma non tiene conto dei metadati del filesystem).

== Utilizzo di base ==

Supponendo di voler cercare dei file eliminati in una partizione `/dev/sdb1`, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo foremost -i /dev/sdb1
Linea 38: Linea 38:
= Esecuzione = == Ricerca da file immagine ==
Linea 40: Linea 40:
Tutti i successivi comandi vanno digitati nel [[AmministrazioneSistema/Terminale|terminale]], e molti di essi necessitano dei [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]]. Procedere quindi con la dovuta cautela. Per il recupero da file di immagine è sufficiente sostituire nel comando il nome del disco o partizione (ad esempio `/dev/sda`) con il nome stesso del file (ad esempio `backup.dd`).
Linea 42: Linea 42:
La [[#isolare|seconda parte]] può richiedere tempi molto lunghi a seconda della dimensione delle partizioni, della gravità dei danni, delle prestazioni del computer, del tipo di filesystem, ecc.
L'interruzione della procedura comporta il rischio di compromettere i dati contenuti nelle partizioni. Pertanto:
 * preventivare un'adeguata disponibilità di tempo prima di procedere.
 * prendere eventuali accorgimenti per interruzioni di corrente elettrica (inserire una batteria carica in caso di portatili, oppure per i computer desktop dotarsi di un [[https://it.wikipedia.org/wiki/Gruppo_di_continuità|gruppo di continuità]]).
== Ricerca di file specifici ==
Linea 47: Linea 44:
== Individuazione dei blocchi danneggiati == Per cercare soltanto determinati tipi di file è inoltre possibile usare l'opzione `-t`, con i formati di file separati da una virgola. Ad esempio per cercare in una partizione `/dev/sdb1` soltanto file `.doc` e `.pdf`, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo foremost -t doc,pdf -i /dev/sdb1
}}}
È possibile inoltre usare l'opzione `-t all` per il recupero di tutti i tipi di file conosciuti.
Linea 49: Linea 49:
Questa parte è propedeutica all'individuazione degli eventuali blocchi danneggiati e delle partizioni in cui sono presenti, su cui si andrà poi a operare. == Scelta della cartella di salvataggio ==
Linea 51: Linea 51:
 0. [[Hardware/DispositiviPartizioni/IndividuarePartizioni#lsblk|Individuare]] il filesystem e la partizione nella quale è presente il blocco danneggiato.
 0. [[AmministrazioneSistema/ComandiBase#umount|Smontare]] la partizione individuata con il comando precedente.
 0. Creare un file di testo contenente lista dei blocchi danneggiati, tramite il comando:{{{
sudo badblocks -v /dev/sdxy > ~/badblocks.txt
}}}
 sostituendo `xy` con la lettera e numero della partizione interessata oppure `~/badblocks.txt` con un altro nome a piacere.
{{{#!wiki important
Per evitare sovrascritture accidentali, con consequente impossibilità di recupero dei file, si raccomanda di __non__ impostare la destinazione di salvataggio nello stesso disco e/o partizione in cui sono presenti i file da recuperare.
}}}
Linea 58: Linea 55:
Per visionare la lista degli eventuali blocchi danneggiati, aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file appena creato. Per specificare una determinata cartella di salvataggio (diversa da `output`, ad esempio denominata `dati`) è possibile usare l'opzione `-o`, come nel seguente esempio:{{{
sudo foremost -i /dev/sdb1 -o /home/utente/dati
}}}
Linea 60: Linea 59:
<<Anchor(isolare)>>
== Isolare i blocchi danneggiati ==
Qualora la cartella di destinazione non esistesse il programma provvederà a crearla.<<BR>>
Nel caso in cui, invece, fosse già presente apparirà un messaggio simile al seguente:{{{
ERROR: /home/utente/dati is not empty
  Please specify another directory or run with -T.
}}}
Linea 63: Linea 65:
Ci sono due modalità per procedere all'operazione:
  * Per cercare, verificare e riparare l'intera partizione (procedura più lenta e più precisa), digitare il seguente comando:{{{
sudo e2fsck -cfpv /dev/sdxy
}}}
  * Per limitare l'intervento ai soli blocchi danneggiati (procedura più veloce ma meno precisa), digitare il seguente comando:{{{
sudo e2fsck -l badblocks.txt /dev/sdxy
}}}
Come suggerito dall'output, sarà possibile a propria scelta:
 * usare una destinazione differente
 * usare l'opzione `-T`. Quest'ultima provvede a creare una nuova cartella con lo stesso nome, ma inoltre contrassegnata con ora e data (prendendo ancora in esame l'esempio precedente, verrà nominata `/home/utente/dati_Sat_Sep_25_16_32_38_2021`).
 {{{#!wiki tip
In questo modo sarà possibile ripetere più volte la ricerca di file, salvando i dati estratti in diverse cartelle, senza modifiche ai risultati di eventuali precedenti operazioni di recovery.
}}}
Linea 71: Linea 72:
In entrambe le procedure sostituire `xy` con la lettera e numero della partizione interessata oppure `~/badblocks.txt` con il nome del file creato in precedenza. = File di configurazione =
Linea 73: Linea 74:
Il significato delle opzioni è espresso nella seguente tabella: Il file di configurazione di '''Foremost''' è `/etc/foremost.conf`.
Linea 75: Linea 76:
||<tablestyle="width:60%;" rowstyle="background-color: #cccccc;" :10%>'''Opzione''' ||<:90%>'''Funzione''' ||
||<style="background-color: #f7f7f7;" :> '''c''' ||<:> Cerca e lista i blocchi danneggiati ||
||<style="background-color: #f7f7f7;" :> '''f''' ||<:> Verifica il filesystem ||
||<style="background-color: #f7f7f7;" :> '''l''' ||<:> Legge il file con la lista dei blocchi danneggiati ||
||<style="background-color: #f7f7f7;" :> '''p''' ||<:> Tenta la riparazione dei blocchi danneggiati, per quanto è possibile ||
||<style="background-color: #f7f7f7;" :> '''v''' ||<:> Lista a schermo quanto viene svolto ||
All'interno del file stesso è possibile consultare le istruzioni (in inglese) utili per aggiungere alla ricerca altri formati di file.<<BR>>
A tale scopo sono infatti presenti diversi esempi commentati che mostrano la sintassi da utilizzare.
Basterà quindi aprire il file, con [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]], per decommentare le righe relative ai formati di proprio interesse, aggiungendoli alla ricerca.
Linea 82: Linea 80:
Di seguito viene riportato un esempio relativo ai file `.tif`:{{{
# TIF
# tif y 200000000 \x49\x49\x2a\x00
}}}

La sintassi della seconda riga nell'esempio contiene i seguenti campi (separati da '''TAB'''), da sinistra verso destra:
 * estensione
 * [[https://it.wikipedia.org/wiki/Sensibile_alle_maiuscole|case sensitive]] ('''y''' in caso positivo e '''n''' in caso negativo)
 * dimensione massima del file (espressa in byte)
 * [[https://it.wikipedia.org/wiki/Header_file|header]]
 * footer (opzionale, può essere omesso)

{{{#!wiki note
Diversi formati di file presenti in `/etc/foremost.conf` sono già supportati nativamente. È infatti presente in corrispondenza la dicitura: «`(NOTE THESE FORMATS HAVE BUILTIN EXTRACTION FUNCTION)`».
}}}

== Aggiungere supporto a nuovi formati di file ==

Basandosi sull'esempio precedente, è quindi possibile aggiungere alla ricerca ulteriori formati, non presenti nel file di configurazione.

Di seguito viene riportato l'esempio di aggiunta dei file in formato ''[[https://it.wikipedia.org/wiki/Free_Lossless_Audio_Codec|flac]]'':{{{
flac y 30000000 \x66\x4c\x61\x43\x00\x00\x00\x22
}}}

{{{#!wiki tip
Per conoscere o controllare l'header di un tipo di file, può talvolta tornare utile il comando: `hd -c nome_file.estensione.file|head` (sostituire `nome_file` e `estensione.file` con le relative voci).
}}}

= Esempio concreto di utilizzo =

Di seguito sono illustrati tutti i passaggi necessari per estrarre dei file inavvertitamente cancellati su un ipotetico disco `/dev/sda`.<<BR>>
Si ipotizza, inoltre, che i file da recuperare vengano salvati su un secondo disco `/dev/sdb`. Si dovrà quindi montare su quest'ultimo una cartella appositamente creata per salvare i file recuperati (ad esempio `/recovery/foremost`), modificando infine i permessi di quest'ultimi.
 
 0. Se necessario, [[Hardware/DispositiviPartizioni/IndividuarePartizioni|individuare]] le partizioni presenti.
 0. [[AmministrazioneSistema/ComandiBase#mkdir|Creare]] sul disco `/dev/sda` la cartella `/recovery/foremost`:{{{
sudo mkdir -p /recovery/foremost
}}}
 0. [[AmministrazioneSistema/ComandiBase#mount|Montare]] il disco `/dev/sdb` nella cartella `/recovery`:{{{
sudo mount /dev/sdb /recovery
}}}
 0. Avviare '''foremost''' digitando il comando:{{{
sudo foremost -i /dev/sda -o /recovery/foremost
}}}
 0. I file recuperati saranno di proprietà dell'utente '''root'''. Per cambiare i [[AmministrazioneSistema/PermessiFile|permessi]] digitare il seguente comando:{{{
sudo chown -R nomeutente:nomegruppo /recovery/foremost
}}}
 sostituendo «`nomeutente:nomegruppo`» (rappresentano rispettivamente il nome dell'utente e il nome del gruppo di appartenenza; generalmente utente e gruppo hanno lo stesso identificativo).
 0. Terminato il recupero, sarà possibile [[AmministrazioneSistema/ComandiBase#umount|smontare]] il disco esterno con il comando:{{{
sudo umount /dev/sdb
}}}

<<Anchor(ulteriori_risorse)>>
Linea 83: Linea 133:
   * [[http://e2fsprogs.sourceforge.net/|Sito del progetto]]
 * [[https://it.wikipedia.org/wiki/E2fsprogs|Voce enciclopedica]]
Linea 87: Linea 134:
-------  * [[http://foremost.sourceforge.net/|Pagina ufficiale del progetto]]
 * [[https://en.wikipedia.org/wiki/Foremost_(software)|Voce enciclopedica]] (in inglese)
 * [[http://manpages.ubuntu.com/manpages/focal/en/man8/foremost.8.html|Pagina man]]
 * [[https://linuxconfig.org/how-to-recover-deleted-files-with-foremost-on-linux | Guida originae]] (in inglese)
 * [[AmministrazioneSistema/RecuperoDati|Portale recupero dati]]
Linea 89: Linea 140:
#CategoryHardware ----
CategoryHomepage
##CategoryAmministrazione


Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento.

Guida verificata con Ubuntu: 20.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Foremost è uno strumento da riga di comando per il recupero dei file. La tecnica utilizzata è il data carving, che utilizza le tracce degli header, dei footers e della struttura interna dei dati stessi, senza considerare i metadati del filesystem.
Foremost può operare sia su file immagine, sia su supporti fisici quali unità flash, hard disk, schede di memoria ecc. Supporta diversi tipi di filesystem (Fat16/32, Ext3/4, NTFS ecc.) e moltissimi formati di file (.jpg, .png, .zip, .avi, .pdf, .doc, .exe, ecc.).

Sviluppato originariamente da enti governativi statunitensi quali l'Ufficio Investigazioni speciali della United States Air Force e il CISR (Center for Information Systems Security Studies and Research), è stato successivamente reso di pubblico dominio.

Per evitare sovrascritture accidentali di dati, si raccomanda di eseguire il programma su un file immagine di backup a basso livello (a tal fine è possibile usare lo strumento dd), anziché operare direttamente sul supporto di memoria dal quale si vogliono recuperare i file.

Installazione

Installare il pacchetto foremost.

Utilizzo

Durante l'estrazione dei dati, il programma esegue di default le seguenti azioni:

  • crea una cartella chiamata output nella stessa posizione dal quale viene lanciato il comando (ad esempio la Home dell'utente, se il terminale è su ~).

  • crea all'interno di questa directory delle sottocartelle corrispondenti al formato dei file che vengono recuperati (ad esempio jpg, txt, zip ecc.). Per consultare tutti i formati di file riconosciuti consultare la pagina man del programma.

  • al termine della procedura elimina eventuali sottocartelle vuote, per le quali non sono stati trovati file corrispondenti.
  • crea all'interno della cartella di salvataggio il file audit.txt, contenente un report delle azioni svolte dal programma.

  • attribuisce ai file eventualmente trovati un nome ricavato dall'indirizzo del settore sul quale sono allocati (non considera perciò il nome originario, in quanto il programma non tiene conto dei metadati del filesystem).

Utilizzo di base

Supponendo di voler cercare dei file eliminati in una partizione /dev/sdb1, digitare nel terminale il seguente comando:

sudo foremost -i /dev/sdb1

Ricerca da file immagine

Per il recupero da file di immagine è sufficiente sostituire nel comando il nome del disco o partizione (ad esempio /dev/sda) con il nome stesso del file (ad esempio backup.dd).

Ricerca di file specifici

Per cercare soltanto determinati tipi di file è inoltre possibile usare l'opzione -t, con i formati di file separati da una virgola. Ad esempio per cercare in una partizione /dev/sdb1 soltanto file .doc e .pdf, digitare nel terminale il seguente comando:

sudo foremost -t doc,pdf -i /dev/sdb1

È possibile inoltre usare l'opzione -t all per il recupero di tutti i tipi di file conosciuti.

Scelta della cartella di salvataggio

Per evitare sovrascritture accidentali, con consequente impossibilità di recupero dei file, si raccomanda di non impostare la destinazione di salvataggio nello stesso disco e/o partizione in cui sono presenti i file da recuperare.

Per specificare una determinata cartella di salvataggio (diversa da output, ad esempio denominata dati) è possibile usare l'opzione -o, come nel seguente esempio:

sudo foremost -i /dev/sdb1 -o /home/utente/dati

Qualora la cartella di destinazione non esistesse il programma provvederà a crearla.
Nel caso in cui, invece, fosse già presente apparirà un messaggio simile al seguente:

ERROR: /home/utente/dati is not empty
        Please specify another directory or run with -T.

Come suggerito dall'output, sarà possibile a propria scelta:

  • usare una destinazione differente
  • usare l'opzione -T. Quest'ultima provvede a creare una nuova cartella con lo stesso nome, ma inoltre contrassegnata con ora e data (prendendo ancora in esame l'esempio precedente, verrà nominata /home/utente/dati_Sat_Sep_25_16_32_38_2021).

    In questo modo sarà possibile ripetere più volte la ricerca di file, salvando i dati estratti in diverse cartelle, senza modifiche ai risultati di eventuali precedenti operazioni di recovery.

File di configurazione

Il file di configurazione di Foremost è /etc/foremost.conf.

All'interno del file stesso è possibile consultare le istruzioni (in inglese) utili per aggiungere alla ricerca altri formati di file.
A tale scopo sono infatti presenti diversi esempi commentati che mostrano la sintassi da utilizzare. Basterà quindi aprire il file, con privilegi di amministrazione e con un editor di testo, per decommentare le righe relative ai formati di proprio interesse, aggiungendoli alla ricerca.

Di seguito viene riportato un esempio relativo ai file .tif:

# TIF
#       tif     y       200000000       \x49\x49\x2a\x00

La sintassi della seconda riga nell'esempio contiene i seguenti campi (separati da TAB), da sinistra verso destra:

  • estensione
  • case sensitive (y in caso positivo e n in caso negativo)

  • dimensione massima del file (espressa in byte)
  • header

  • footer (opzionale, può essere omesso)

Diversi formati di file presenti in /etc/foremost.conf sono già supportati nativamente. È infatti presente in corrispondenza la dicitura: «(NOTE THESE FORMATS HAVE BUILTIN EXTRACTION FUNCTION)».

Aggiungere supporto a nuovi formati di file

Basandosi sull'esempio precedente, è quindi possibile aggiungere alla ricerca ulteriori formati, non presenti nel file di configurazione.

Di seguito viene riportato l'esempio di aggiunta dei file in formato flac:

flac    y       30000000    \x66\x4c\x61\x43\x00\x00\x00\x22

Per conoscere o controllare l'header di un tipo di file, può talvolta tornare utile il comando: hd -c nome_file.estensione.file|head (sostituire nome_file e estensione.file con le relative voci).

Esempio concreto di utilizzo

Di seguito sono illustrati tutti i passaggi necessari per estrarre dei file inavvertitamente cancellati su un ipotetico disco /dev/sda.
Si ipotizza, inoltre, che i file da recuperare vengano salvati su un secondo disco /dev/sdb. Si dovrà quindi montare su quest'ultimo una cartella appositamente creata per salvare i file recuperati (ad esempio /recovery/foremost), modificando infine i permessi di quest'ultimi.

  1. Se necessario, individuare le partizioni presenti.

  2. Creare sul disco /dev/sda la cartella /recovery/foremost:

    sudo mkdir -p /recovery/foremost
  3. Montare il disco /dev/sdb nella cartella /recovery:

    sudo mount /dev/sdb /recovery
  4. Avviare foremost digitando il comando:

    sudo foremost -i /dev/sda -o /recovery/foremost
  5. I file recuperati saranno di proprietà dell'utente root. Per cambiare i permessi digitare il seguente comando:

    sudo chown -R nomeutente:nomegruppo /recovery/foremost

    sostituendo «nomeutente:nomegruppo» (rappresentano rispettivamente il nome dell'utente e il nome del gruppo di appartenenza; generalmente utente e gruppo hanno lo stesso identificativo).

  6. Terminato il recupero, sarà possibile smontare il disco esterno con il comando:

    sudo umount /dev/sdb

Ulteriori risorse


CategoryHomepage