GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Warum erlaubt Linux „init=/bin/bash“?

Ich habe kürzlich herausgefunden, dass ich GRUB vor dem Booten bearbeite und rw init=/bin/bash hinzufüge Am Ende habe ich eine Root-Shell.

Da ich in einem Zustand bin, in dem ich alles verstehen möchte, würde ich gerne wissen, warum das passiert. Ich meine, ist es ein Fehler? ist es eine Funktion? Ist es da, um Administratoren dabei zu helfen, Probleme zu beheben, da es nur funktioniert, wenn Sie physischen Zugriff auf einen Computer haben?

Wird es von GRUB oder dem eigentlichen Kernel bereitgestellt?

Akzeptierte Antwort:

Dies ist ein Feature und wird für die Systemwartung verwendet:Es erlaubt einem Systemadministrator, ein System aus vermasselten Initialisierungsdateien wiederherzustellen oder ein vergessenes Passwort zu ändern.

Dieser Beitrag in der Red Hat Mailingliste erklärt einige Dinge:

In Unix-ähnlichen Systemen ist init der erste Prozess, der ausgeführt wird, und der
ultimative Vorfahre aller jemals ausgeführten Prozesse. Es ist dafür verantwortlich,
alle Init-Skripte auszuführen.

Sie weisen den Linux-Kernel an, /bin/bash als init auszuführen, anstatt
die Systeminitialisierung. […]

Sie nutzen also nichts aus, Sie verwenden nur eine Standard-Kernel-Funktion.

Außerdem, wie in einem Kommentar erwähnt, der rw flag ist getrennt von init= , weist es das System lediglich an, das Root-Dateisystem mit Lese-/Schreibzugriff zu mounten (damit Sie z. B. die falsch konfigurierte Datei bearbeiten oder ein Passwort ändern können).


Linux
  1. Warum zeigt /bin/sh auf /bin/dash und nicht auf /bin/bash?

  2. 12 Gründe, warum jeder Linux-Systemadministrator faul sein sollte

  3. Warum fügt Strg + V nicht in Bash (Linux-Shell) ein?

  4. Warum heizt Linux meinen Computer auf?

  5. Wie verwendet Linux eine Echtzeituhr?

Geben Sie der Firewall Ihres Linux-Systems einen Sicherheitsschub

Linux – Wie startet Gnome ohne Root-Rechte neu?

Linux – Warum ist kein Rootfs-Dateisystem auf dem System vorhanden?

Linux – Warum funktioniert Setuid nicht?

Linux – Warum kann der Kernel Init nicht ausführen?

Linux – /sbin/init existiert nicht?