Introduzione
Quando scarichi un file da Internet, è buona norma di sicurezza controllare se hai ricevuto la versione originale. Confrontare i checksum che hai ricevuto dal creatore del file con quelli che ottieni controllando tu stesso il file è un modo affidabile per confermare l'integrità del tuo download.
Il md5sum
Il comando in Linux aiuta a creare, leggere e controllare i checksum dei file.
In questo tutorial imparerai come usare md5sum
comando per convalidare i file che ricevi.
Prerequisiti
- Un sistema che esegue Linux
- Accesso alla riga di comando
Il comando md5sum con esempi
Se utilizzato su un file senza alcuna opzione, il md5sum
Il comando visualizza il valore hash del file insieme al nome del file. La sintassi è:
md5sum [filename]
Dopo aver ottenuto il valore hash, confrontalo con il valore MD5 fornito dal creatore del file.
Leggi in modalità binaria
Per leggere il file in modalità binaria, usa il -b
opzione (--binary
):
md5sum -b [filename]
Il *
carattere prima del nome del file significa che md5sum
leggilo in modalità binaria.
Leggi in modalità testo
Usa il -t
opzione (--text
) per leggere il file in modalità testo:
md5sum -t [filename]
La modalità testo è la modalità predefinita per leggere i file con md5sum
.
Crea un checksum in stile BSD
Usando il --tag
opzione restituisce il valore hash nel formato in stile BSD:
md5sum --tag [filename]
Convalida il checksum md5 con un file
Per controllare un file confrontando il suo valore hash con il valore fornito in un file hash, usa il -c
opzione.
1. Ad esempio, crea un file hash contenente il md5sum
uscita:
md5sum [filename] > [file-containing-hashes]
2. Utilizza la seguente sintassi per confrontare il valore hash del file che hai creato con il valore hash corrente del .txt
file:
md5sum -c [file-containing-hashes]
3. Se modifichi il contenuto del file e ripeti il controllo, viene visualizzato un messaggio di avviso:
Convalida più file
Usa lo stesso md5sum -c
procedura per verificare l'integrità di più file:
md5sum [filename1] [filename2] [filename3] > [file-containing-hashes]
Nell'esempio seguente, il contenuto di example2.txt
sono cambiati, risultando in un messaggio di avviso da md5sum
:
Visualizza solo i file modificati
Il --quiet
l'opzione visualizza solo i file il cui valore hash è cambiato. Salta l'output dei file convalidati.
md5sum --quiet -c [file-containing-hashes]
Genera solo stato
Il md5sum
comando con il --status
l'opzione non produce alcun output ma restituisce 0
se non ci sono modifiche e 1
se rileva cambiamenti. Questo argomento è utile per lo scripting, dove non è necessario l'output standard.
Lo script di esempio seguente illustra l'uso di --status
opzione:
#!/bin/bash
md5sum --status -c hashfile
Status=$?
echo "File check status is: $Status"
exit $Status
Quando lo script viene eseguito, mostra lo stato 1
, il che significa che md5sum
ha rilevato la modifica apportata in precedenza in example2.txt
.
Controlla le righe di checksum formattate in modo errato
Aggiungi il --strict
opzione per uscire da un valore diverso da zero per valori hash formattati in modo errato:
md5sum --strict -c [file-containing-hashes]
L'esempio mostra l'output di md5sum --strict
quando inserisci caratteri non validi nella prima riga del file contenente hash:
Per visualizzare quale riga ha un hash non valido, utilizza -w
(--warn
):
md5sum -w -c [file-containing-hashes]
L'esempio sopra mostra il -w
opzione che mostra che la riga di checksum MD5 formattata in modo errato è la riga 1 del file.
Salta lo stato di segnalazione per file mancanti
Per impostazione predefinita, md5sum
mostra avvisi sui file che non riesce a trovare sul sistema. Per ignorare questo comportamento, utilizza il --ignore-missing
opzione:
md5sum --ignore-missing -c [file-containing-hashes]
Nell'esempio seguente, example1.txt
è stato eliminato prima di eseguire md5sum
comando. L'output ignora il file eliminato:
Mostra Guida e informazioni sulla versione
Per ottenere l'aiuto ufficiale per md5sum
comando, digita:
md5sum --help
Per controllare md5sum versione, digitare:
md5sum --version