Bootloader GRUB ukládá heslo do souboru ve formátu prostého textu, takže je vyžadována jakákoli šifrovaná forma hesla. Pro vygenerování zašifrovaného hesla můžeme použít grub-crypt příkaz. Doposud jsme používali příkaz grub-md5-crypt . Ale nyní je MD5 široce považováno za nefunkční. grub-crypt používá SHA-256 nebo SHA-512 hash, které jsou považovány za bezpečnější. Obecná syntaxe/použití příkazu grub-crypt je znázorněno níže:
# grub-crypt --help Usage: grub-crypt [OPTION]... Encrypt a password. -h, --help Print this message and exit -v, --version Print the version information and exit --md5 Use MD5 to encrypt the password --sha-256 Use SHA-256 to encrypt the password --sha-512 Use SHA-512 to encrypt the password (default) Report bugs to [[email protected]]. EOF
Použití hodnot hash SHA-265 nebo SHA-512
1. Jako uživatel root použijte k vygenerování hash hesla příkaz grub-crypt. Zadejte heslo a pro potvrzení zadejte heslo znovu.
grub-crypt Password: Retype password: $6$GXGrYVEnbKXAnQoT$p64OkyclNDt4qM2q47GMsgNxJxQaclNs79gvYYsl4h07ReDtJpt5P5kQn1KQ52u2eW8pKHTqcG50ffv0UlRcW0
2. Zkopírujte zašifrované heslo vrácené na posledním řádku výstupu, které by vypadalo jako dlouhý zakódovaný řetězec. Vložte jej před příkaz TITLE v souboru /boot/grub/grub.conf soubor, jako je tento:
# vi /boot/grub/grub.conf .... default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu password --encrypted $6$GXGrYVEnbKXAnQoT$p64OkyclNDt4qM2q47GMsgNxJxQaclNs79gvYYsl4h07ReDtJpt5P5kQn1KQ52u2eW8pKHTqcG50ffv0UlRcW0 title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64) ....Poznámka:Ujistěte se, že oprávnění souboru /boot/grub/grub.conf jsou nastavena na pouze pro čtení, aby jej nikdo nemohl upravovat.
# ls -lrt /boot/grub/grub.conf -rw-------. 1 root root 845 Oct 11 14:43 /boot/grub/grub.conf
3. Jakmile to uděláte, budoucí spouštění bude vyžadovat heslo, než vám GRUB umožní upravit možnosti spouštění.
Používání hesel ve formátu prostého textu
Sice to není bezpečné, ale pokud přesto chcete nastavit uživatelsky čitelné heslo GRUB ve formátu prostého textu, použijte níže uvedený postup:
1. Upravte /boot/grub/grub.conf v textovém editoru a přidejte nový řádek „heslo PASSWORD-GOES-HERE“ před první sloku názvu, např.:
default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu password my-not-so-hidden-password title Red Hat Enterprise Linux ...
2. Zajistěte, aby oprávnění na grub.conf nedovolovala nikomu kromě roota číst jej:
# chmod 600 /boot/grub/grub.conf # ls -l /boot/grub/grub.conf -rw------- 1 root root 678 Feb 02 14:12 /boot/grub/grub.conf
Použití hodnot hash MD5
Jak bylo řečeno dříve v příspěvku, MD5 je široce považován za nefunkční. Pokud je ale přesto chcete používat, postupujte podle níže uvedeného postupu:
1. Spusťte grub-md5-crypt pro vygenerování hashovaného hesla:
# grub-md5-crypt Password: Retype password: $1$vweqo$CLFlozZ6ELHjGmL.0.37..
Před první řádek nadpisu přidejte nový řádek „heslo –md5 HASH-GOES-HERE“, např.:
default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu password --md5 $1$vweqo$CLFlozZ6ELHjGmL.0.37.. title Red Hat Enterprise Linux ...
Jako poslední krok osvědčeného postupu zajistěte, aby oprávnění na grub.conf neumožňovala nikomu kromě roota číst:
# chmod 600 /boot/grub/grub.conf # ls -l /boot/grub/grub.conf -rw------- 1 root root 678 Jan 29 18:27 /boot/grub/grub.conf
Restartujte systém a zkuste stisknutím tlačítka p zadat heslo pro odemknutí a povolení dalších funkcí v seznamu grub.