Zuerst die Warnung ...
Das Passwortschutzverfahren für grub2 kann sehr schwierig sein, und wenn Sie einen Fehler machen, besteht die Möglichkeit, dass Sie mit einem nicht bootfähigen System zurückbleiben. Erstellen Sie daher immer zuerst ein vollständiges Image-Backup Ihrer Festplatte. Meine Empfehlung wäre, Clonezilla zu verwenden - ein anderes Backup-Tool wie PartImage könnte ebenfalls verwendet werden.
Wenn Sie dies üben möchten, verwenden Sie einen Gast der virtuellen Maschine, mit dem Sie einen Snapshot zurücksetzen können.
Lass uns anfangen
Das folgende Verfahren schützt das unbefugte Bearbeiten der Grub-Einstellungen während des Bootens. Wenn Sie ezum Bearbeiten drücken , können Sie die Boot-Optionen ändern. Sie können beispielsweise das Booten in den Einzelbenutzermodus erzwingen und so Zugriff auf Ihre Festplatte erhalten.
Dieses Verfahren sollte in Verbindung mit der Festplattenverschlüsselung und einer sicheren BIOS-Startoption verwendet werden, um zu verhindern, dass von einer Live-CD gebootet wird, wie in der zugehörigen Antwort auf diese Frage beschrieben.
Fast alles darunter kann zeilenweise kopiert und eingefügt werden.
Lassen Sie uns zuerst die zu bearbeitenden Grub-Dateien sichern - öffnen Sie eine Terminalsitzung:
sudo mkdir /etc/grub.d_backup
sudo cp /etc/grub.d/* /etc/grub.d_backup
Lass uns einen Benutzernamen für grub erstellen:
gksudo gedit /etc/grub.d/00_header &
Scrolle nach unten, füge eine neue leere Zeile hinzu und kopiere und füge Folgendes ein:
cat << EOF
set superusers="myusername"
password myusername xxxx
password recovery 1234
EOF
In diesem Beispiel wurden zwei Benutzernamen erstellt: Mein Benutzername und Wiederherstellung
Weiter - navigiere zurück zum Terminal (nicht schließen gedit
):
Nur für Natty- und Oneiric-Benutzer
Generieren Sie ein verschlüsseltes Kennwort, indem Sie Folgendes eingeben
grub-mkpasswd-pbkdf2
Geben Sie Ihr Passwort ein, das Sie zweimal verwenden werden, wenn Sie dazu aufgefordert werden
Your PBKDF2 is grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
Das Stück, an dem wir interessiert sind, beginnt grub.pbkdf2...
und endetBBE2646
Markieren Sie diesen Bereich mit der Maus, klicken Sie mit der rechten Maustaste und kopieren Sie ihn.
Wechseln Sie zurück zu Ihrer gedit
Anwendung - markieren Sie den Text "xxxx" und ersetzen Sie diesen durch das, was Sie kopiert haben (Rechtsklick und Einfügen)
dh die Linie sollte so aussehen
password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
alle 'buntu versionen (lucid und höher)
Speichern und schließen Sie die Datei.
Schließlich müssen Sie jeden Grub-Menüeintrag mit einem Passwort schützen (alle Dateien, deren Zeile mit menuentry beginnt ):
cd /etc/grub.d
sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
Dadurch wird --users myusername
jeder Zeile ein neuer Eintrag hinzugefügt .
Führen Sie update-grub aus, um Ihren Grub neu zu generieren
sudo update-grub
Wenn Sie versuchen, einen Grub-Eintrag zu bearbeiten, werden Sie nach Ihrem Benutzernamen, dh meinem Benutzernamen, und dem von Ihnen verwendeten Passwort gefragt .
Starten Sie neu und testen Sie, ob der Benutzername und das Kennwort erzwungen werden, wenn Sie alle Grub-Einträge bearbeiten.
Denken Sie daran, SHIFTwährend des Startvorgangs zu drücken , um Ihre Auswahl anzuzeigen.
Wiederherstellungsmodus mit Passwortschutz
Alle oben genannten Punkte können im Wiederherstellungsmodus problemlos umgangen werden.
Glücklicherweise können Sie auch einen Benutzernamen und ein Kennwort erzwingen, um den Menüeintrag für den Wiederherstellungsmodus zu verwenden. Im ersten Teil dieser Antwort erstellen wir einen zusätzlichen Benutzernamen mit dem Namen recovery und dem Kennwort 1234 . Um diesen Benutzernamen zu verwenden, müssen wir die folgende Datei bearbeiten:
gksudo gedit /etc/grub.d/10_linux
Ändern Sie die Zeile von:
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
Zu:
if ${recovery} ; then
printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
Wenn Recovery den Benutzernamen verwenden , mit Erholung und das Passwort 1234
Führen Sie aus sudo update-grub
, um Ihre Grub-Datei neu zu generieren
Starten Sie neu und testen Sie, ob Sie beim Versuch, in den Wiederherstellungsmodus zu starten, zur Eingabe von Benutzername und Kennwort aufgefordert werden.
Weitere Informationen - http://ubuntuforums.org/showthread.php?t=1369019