Úvod
Při stahování souboru z internetu je dobrým bezpečnostním postupem zkontrolovat, zda jste obdrželi původní verzi. Porovnání kontrolních součtů, které jste obdrželi od tvůrce souboru, s těmi, které získáte vlastní kontrolou souboru, je spolehlivý způsob, jak potvrdit integritu stahování.
md5sum
příkaz v Linuxu pomáhá vytvářet, číst a kontrolovat kontrolní součty souborů.
V tomto tutoriálu se naučíte používat md5sum
příkaz k ověření přijatých souborů.

Předpoklady
- Systém se systémem Linux
- Přístup k příkazovému řádku
Příkaz md5sum s příklady
Při použití na soubor bez jakýchkoli možností md5sum
příkaz zobrazí hodnotu hash souboru vedle názvu souboru. Syntaxe je:
md5sum [filename]

Po získání hodnoty hash ji porovnejte s hodnotou MD5 poskytnutou tvůrcem souboru.
Čtení v binárním režimu
Chcete-li číst soubor v binárním režimu, použijte -b
možnost (--binary
):
md5sum -b [filename]

*
znak před názvem souboru znamená, že md5sum
čtěte jej v binárním režimu.
Čtení v textovém režimu
Použijte -t
možnost (--text
) pro čtení souboru v textovém režimu:
md5sum -t [filename]

Textový režim je výchozí režim pro čtení souborů s md5sum
.
Vytvořte kontrolní součet ve stylu BSD
Pomocí --tag
volba vypíše hodnotu hash ve formátu BSD:
md5sum --tag [filename]

Ověřte kontrolní součet md5 pomocí souboru
Chcete-li zkontrolovat soubor porovnáním jeho hodnoty hash s hodnotou uvedenou v souboru hash, použijte -c
možnost.
1. Jako příklad vytvořte hash soubor obsahující md5sum
výstup:
md5sum [filename] > [file-containing-hashes]
2. Pomocí následující syntaxe porovnejte hodnotu hash ze souboru, který jste vytvořili, s aktuální hodnotou hash souboru .txt
soubor:
md5sum -c [file-containing-hashes]

3. Pokud změníte obsah souboru a zopakujete kontrolu, zobrazí se varovná zpráva:

Ověřit více souborů
Použijte stejný md5sum -c
postup pro kontrolu integrity více souborů:
md5sum [filename1] [filename2] [filename3] > [file-containing-hashes]
V následujícím příkladu je obsah example2.txt
se změnily, což má za následek varovnou zprávu od md5sum
:

Zobrazit pouze upravené soubory
--quiet
zobrazí pouze soubory, jejichž hodnota hash se změnila. Přeskočí výstup ověřených souborů.
md5sum --quiet -c [file-containing-hashes]

Pouze generovat stav
md5sum
příkaz s --status
volba neprodukuje žádný výstup, ale vrací 0
pokud nejsou žádné změny a 1
pokud zjistí změny. Tento argument je užitečný pro skriptování, kde není potřeba standardní výstup.
Níže uvedený příklad skriptu ilustruje použití --status
možnost:
#!/bin/bash
md5sum --status -c hashfile
Status=$?
echo "File check status is: $Status"
exit $Status
Když se skript spustí, zobrazí stav 1
, což znamená, že md5sum
zjistil dříve provedenou změnu v souboru example2.txt
.

Zkontrolujte nesprávně naformátované řádky kontrolního součtu
Přidejte --strict
možnost ukončit nenulovou hodnotu pro nesprávně naformátované hodnoty hash:
md5sum --strict -c [file-containing-hashes]
Příklad ukazuje výstup md5sum --strict
když do prvního řádku souboru obsahujícího hash vložíte neplatné znaky:

Chcete-li zobrazit, který řádek má neplatný hash, použijte -w
(--warn
):
md5sum -w -c [file-containing-hashes]

Výše uvedený příklad ukazuje -w
možnost zobrazující, že nesprávně naformátovaný řádek kontrolního součtu MD5 je řádek 1 souboru.
Přeskočit stav hlášení chybějících souborů
Ve výchozím nastavení md5sum
zobrazuje varování o souborech, které nemůže najít v systému. Chcete-li toto chování přepsat, použijte --ignore-missing
možnost:
md5sum --ignore-missing -c [file-containing-hashes]
V níže uvedeném příkladu example1.txt
byl odstraněn před spuštěním md5sum
příkaz. Výstup ignoruje smazaný soubor:

Zobrazit informace o nápovědě a verzi
Chcete-li získat oficiální nápovědu pro md5sum
příkaz, zadejte:
md5sum --help
Chcete-li zkontrolovat součet md5 verze, zadejte:
md5sum --version