Najpierw ostrzeżenie ...
Procedura ochrony hasłem grub2 może być dość trudna, a jeśli się pomylisz, istnieje możliwość pozostawienia się bez systemu rozruchowego. Dlatego zawsze najpierw wykonaj pełną kopię zapasową dysku twardego. Polecam użycie Clonezilli - można również użyć innego narzędzia do tworzenia kopii zapasowych, takiego jak PartImage .
Jeśli chcesz to przećwiczyć - skorzystaj z gościa maszyny wirtualnej, którego możesz przywrócić migawkę.
zaczynajmy
Poniższa procedura chroni przed nieautoryzowaną edycją ustawień Grub podczas uruchamiania - to znaczy naciśnięcie przycisku eedytuj pozwala zmienić opcje uruchamiania. Możesz na przykład wymusić uruchomienie systemu w trybie pojedynczego użytkownika, a tym samym mieć dostęp do dysku twardego.
Tę procedurę należy stosować w połączeniu z szyfrowaniem dysku twardego i opcją bezpiecznego uruchamiania systemu BIOS, aby zapobiec rozruchowi z dysku CD na żywo, jak opisano w powiązanej odpowiedzi na to pytanie.
prawie wszystko poniżej można skopiować i wkleić jedną linię na raz.
Najpierw wykonaj kopię zapasową plików grub, które będziemy edytować - otwórz sesję terminalową:
sudo mkdir /etc/grub.d_backup
sudo cp /etc/grub.d/* /etc/grub.d_backup
Utwórzmy nazwę użytkownika dla gruba:
gksudo gedit /etc/grub.d/00_header &
Przewiń w dół, dodaj nowy pusty wiersz, skopiuj i wklej następujące elementy:
cat << EOF
set superusers="myusername"
password myusername xxxx
password recovery 1234
EOF
W tym przykładzie utworzono dwie nazwy użytkownika: moja nazwa użytkownika i odzyskiwanie
Dalej - przejdź z powrotem do terminala (nie zamykaj gedit
):
Tylko użytkownicy Natty i Oneiric
Wygeneruj zaszyfrowane hasło, wpisując
grub-mkpasswd-pbkdf2
Wprowadź hasło, którego użyjesz dwukrotnie, gdy pojawi się monit
Your PBKDF2 is grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
Trochę nas interesuje początek grub.pbkdf2...
i koniecBBE2646
Podświetl tę sekcję za pomocą myszy, kliknij ją prawym przyciskiem myszy i skopiuj.
Wróć do gedit
aplikacji - zaznacz tekst „xxxx” i zastąp go tym, co skopiowałeś (kliknij prawym przyciskiem myszy i wklej)
tzn. linia powinna wyglądać
password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
wszystkie wersje buntu (przejrzyste i nowsze)
Zapisz i zamknij plik.
Na koniec musisz zabezpieczyć hasłem każdą pozycję menu grub (wszystkie pliki, które mają linię rozpoczynającą menuentry ):
cd /etc/grub.d
sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
Spowoduje to dodanie nowego wpisu --users myusername
do każdej linii.
Uruchom update-grub, aby zregenerować swój grub
sudo update-grub
Kiedy spróbujesz edytować wpis grub, poprosi on o twoją nazwę użytkownika, tj. Moja nazwa użytkownika i hasło, którego użyłeś.
Uruchom ponownie i sprawdź, czy nazwa użytkownika i hasło są wymuszane podczas edycji wszystkich wpisów grub.
Uwaga: pamiętaj, aby nacisnąć SHIFTpodczas uruchamiania, aby wyświetlić gruba.
Tryb odzyskiwania chroniony hasłem
Wszystkie powyższe można łatwo obejść za pomocą trybu odzyskiwania.
Na szczęście możesz również wymusić nazwę użytkownika i hasło, aby użyć pozycji menu trybu odzyskiwania. W pierwszej części tej odpowiedzi tworzymy dodatkową nazwę użytkownika o nazwie odzyskiwanie z hasłem 1234 . Aby użyć tej nazwy użytkownika, musimy edytować następujący plik:
gksudo gedit /etc/grub.d/10_linux
zmień linię z:
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
Do:
if ${recovery} ; then
printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
Podczas korzystania z odzysku użyć nazwy użytkownika odzysku i hasło 1234
Uruchom, sudo update-grub
aby ponownie wygenerować plik grub
Uruchom ponownie i sprawdź, czy jesteś proszony o podanie nazwy użytkownika i hasła podczas próby uruchomienia w trybie odzyskiwania.
Więcej informacji - http://ubuntuforums.org/showthread.php?t=1369019