So schützen Sie das Grub-Menü mit einem Passwort

8

So schützen Sie das Grub-Menü mit einem Passwort vor dem ro recovery nomodesetBefehl. Ich möchte, dass niemand dorthin kommt, es sei denn, Sie haben das Passwort, um Änderungen am Menü vorzunehmen und zu versuchen, in recovery.grub zu gelangen

Randol Albert
quelle
Es ist nicht ganz klar. Möchten Sie die Boot-Fähigkeit oder die Fähigkeit, die Grub-Konfiguration zu bearbeiten / zu einer Grub-Konsole zu gelangen, mit einem Passwort schützen?
Seth
Am liebsten beides und könnten Sie mir bitte die Befehle im Detail zeigen, ich bin ein bisschen neu in Linux
Randol Albert
Es gibt eine Option, um den Wiederherstellungsmodus in grub zu deaktivieren und dafür zu sorgen, dass grub nicht angezeigt wird (dh direkt zu einem bestimmten Betriebssystem booten, das Sie auswählen, oder wenn Sie nur ein Betriebssystem haben, booten Sie unverzüglich zu diesem). Würden Sie sich dafür interessieren? Lassen Sie mich wissen, ich werde dies als Antwort
posten,

Antworten:

12

Mit Grub können Sie die Konfiguration und Konsole sowie einzelne Betriebssystemeinträge mit einem Kennwort schützen. Bitte beachten Sie, dass dies engagierte Personen nicht aufhält, insbesondere diejenigen, die wissen, was sie tun. Aber ich nehme an, Sie wissen das. Lass uns anfangen.

einen Passwort-Hash generieren ..

Sie könnten Ihr Grub-Passwort im Klartext speichern, aber das ist völlig unsicher und jeder, der Zugriff auf Ihr Konto hatte, konnte es schnell herausfinden. Um dies zu verhindern, haben wir das Passwort mit dem grub-mkpasswd-pbkdf2Befehl wie folgt gehasht :

user@host~ % grub-mkpasswd-pbkdf2
Enter password: 
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.63553D205CF6E...  

Während Sie Ihr Passwort eingeben, werden im Terminal keine Zeichen angezeigt. Dies soll verhindern, dass Personen über Ihre Schultern schauen usw. Kopieren Sie nun den gesamten Hash mit Ctrl+ Shift+ C.

Schutz der Konfiguration, Konsole ..

Lauf:

sudo nano /etc/grub.d/40_custom  

Dadurch wird eine neue Konfigurationsdatei erstellt, die 40_customim Konfigurationsverzeichnis von grub aufgerufen wird . Fügen Sie nun die Zeilen hinzu:

set superusers="username"  
password_pbkdf2 username hash  

Wo usernameist ein Benutzername Ihrer Wahl und hashder Hash, den wir im letzten Befehl generiert haben. Drücken Sie Ctrl+ Ound dann Ctrl+ X, um zu speichern und zu beenden. Lauf:

sudo update-grub  

Um die Änderungen abzuschließen. Wenn jemand versucht, die Grub-Konfiguration zu bearbeiten oder auf eine Grub-Konsole zuzugreifen, wird er aufgefordert, einen Benutzernamen und ein Kennwort einzugeben.

Passwortschutz für Betriebssystemeinträge.

Derzeit ist die einzige Methode, die ich finden kann, die /boot/grub/grub.cfgmanuelle Bearbeitung . Dies ist jedoch nur vorübergehend, da jedes neue Kernel-Update diese Datei neu schreibt und Ihre Kennwörter verloren gehen (beachten Sie, dass dies keinen Einfluss auf das oben festgelegte Konsolen- / Bearbeitungskennwort hat). Alle anderen Methoden, die ich bisher gefunden habe, sind extrem veraltet und ich kann sie nicht mehr zum Laufen bringen.

Ich habe die Grub-Mailingliste gefragt, ob es eine neuere Methode gibt, und werde diese Antwort bearbeiten, sobald ich es herausfinde.

Seth
quelle
2
Grub 2.0+ fragt nach dem Passwort, um nach diesen Manipulationen zu booten. Dies liegt daran, dass alle Einträge jetzt standardmäßig "eingeschränkt" sind. Um ohne Kennwort zu starten, müssen Sie den erforderlichen Startelementen "--unrestricted" hinzufügen .
Raz
6

Das GRUB-Handbuch enthält einen Abschnitt zur Sicherheit . Hier erfahren Sie, wie Sie Ihr GRUB-Startmenü mit einem Kennwort schützen, um den Zugriff auf bestimmte Vorgänge oder Startvarianten zu beschränken. Es enthält ein kleines Beispiel.

NZD
quelle
1
Wenn das Beispiel klein ist, können Sie zu Ihrer Antwort hinzufügen
rpax
2
@rpax: Seths Antwort enthält bereits ein Beispiel. Er fügte seine Antwort hinzu, nachdem ich meine gepostet hatte.
NZD