So aktivieren Sie alle SYSRQ -Funktionen unter Linux

So aktivieren Sie alle SYSRQ -Funktionen unter Linux

Zielsetzung

Erfahren Sie, wie Sie die SYSRQ -Funktionen aktivieren und wie man sie mit den Befehlstasten verwendet.

Anforderungen

  • Wurzelberechtigungen
  • Linux -Kernel, kompiliert mit der Option "config_magic_sysrq" aktiviert

Konventionen

  • # - Erfordert, dass gegebene Linux -Befehle entweder mit Root -Berechtigungen ausgeführt werden müssen
    direkt als Stammbenutzer oder durch Verwendung von sudo Befehl
  • $ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Einführung

Mit der SYSRQ -Schlüsselkombination können Befehle unter bestimmten Umständen direkt an den Linux -Kernel gesendet werden Befehlsschlüssel sofort, es sei denn, es ist vollständig verschlossen. Verschieden Befehlsschlüssel Erreichen Sie bestimmte Aufgaben, und sie können kombiniert werden, um das System in einen sicheren Zustand wiederherzustellen oder um einen sauberen Neustart zu erhalten, wenn nichts anderes funktioniert: Dies können wir mit dem erhalten Reisub Reihenfolge.

In diesem Tutorial sehen wir, wie alle SYSRQ -Funktionen mithilfe einer Standardinstallation von aktiviert werden können Ubuntu 18.04 - Bionischer Biber als Basis.

Der Sysrq Magic Key

Der Sysrq Die Schlüsselkombination besteht aus drei Tasten, die zusammen gedrückt werden sollen: ALT + SYSRQ + Befehlstaste. Sie fragen sich vielleicht, was das ist Sysrq Taste auf Ihrer Tastatur. Angenommen, Sie verwenden eine QWERTY -Tastatur, die Sysrq Der Schlüssel entspricht dem drucken Taste.

Schließlich ist eine Befehlstaste eine Taste auf der Tastatur, die beim Drücken in diesem speziellen Modus sofort einen Befehl an den Kernel sendet. Wir werden einige dieser Schlüssel und die damit verbundenen Funktionen in einem Moment sehen, aber vor dem Fortfahren müssen wir sicher sein, dass der von uns verwendete Kernel mit der erforderlichen Option zusammengestellt wurde.



Die Option config_magic_sysrq Kernel -Option

Wie oben gesagt, für die Sysrq Wichtige Kombination zur Arbeit, der Kernel muss mit dem gebaut worden sein Config_magic_sysrq Option aktiviert. Dies ist normalerweise in allen wichtigen Verteilungen der Fall. Dennoch kann es nützlich sein, zu wissen, wie man seinen Zustand überprüft. So können wir es schaffen. Das erste, was wir wissen wollen, ist die Version und der Name des Kernels, den wir verwenden. Das Erhalten dieser Informationen ist sehr einfach, wir rennen nur:

$ uname -r 4.13.0-25-generisch 

Wie Sie wahrscheinlich wissen, die dein Name Der Befehl wird verwendet, um einige Systeminformationen abzurufen. In diesem Fall haben wir es mit dem verwendet -R Flagge, wie wir nur über die wissen wollten Kernel -Veröffentlichung.Das Ergebnis des Befehls war 4.13.0-25-generisch: Das ist der Name des von unserem System verwendeten Kernel. Wir können jetzt in die schauen /Stiefel Verzeichnis für die entsprechende Konfigurationsdatei: Diese Datei enthält alle Optionen, mit denen der Kernel zusammengestellt wurde. Wir können nach dem Wert suchen, der verwendet wird Config_magic_sysrq drin:

$ ls /boot ABI-4.13.0-25-generische Initrd.IMG-4.13.0-25-Generische Memtest86+_multiboot.Bin config-4.13.0-25-Generische Memtest86+.Behältersystem.Karte-4.13.0-25-Generik-Grub-Memtest86+.Elf Vmlinuz-4.13.0-25-generisch 

Wie erwartet ist die Datei vorhanden: config-4.13.0.25-generisch ist das, wonach wir suchen. Wir haben jetzt alles, was wir brauchen. Lassen Sie uns den Scheck durchführen:

$ grep -i config_magic_sysrq /boot /config -4.13.0-25-Generic config_magic_sysrq = y config_magic_sysrq_default_enable = 0x01b6 config_magic_sysrq_serial = y 

Wie Sie in der ersten Zeile sehen können, die Option Config_magic_sysrq hat y Als Wert, was bedeutet, dass es als integriert wurde, als der Kernel konfiguriert wurde. Wofür steht die anderen Zeilen für? Der Config_magic_sysrq_default_enable Die Option gibt die aktivierten Standardfunktionen an: Der Wert wird in ausgedrückt hexadezimal Formular in diesem Fall 0x01b6 was entspricht 438 in Dezimalform.

Wie wir später in diesem Tutorial sehen werden, bedeutet dieser Wert, dass die meisten Funktionen standardmäßig aktiviert sind. Die meisten Verteilungen deaktivieren ihren Aufruf jedoch aus Sicherheitsgründen über Schlüsselkombination aus Sicherheitsgründen. Die dritte Option ist für uns jetzt nicht sehr wichtig: Es geht darum, das zu aktivieren Sysrqschlüssel über seriell.



Überprüfen Sie den aktuellen SYSRQ -Wert

Die Mehrheit der Verteilungen deaktiviert den Zugriff auf einige von Sysrq Funktionen über Schlüsselkombinationen aus Sicherheitsgründen (alle Funktionen sind jedoch immer verfügbar, wenn sie über aufgerufen werden /Proc/sysrq-Trigger mit Wurzelprivilegien). Um zu überprüfen, welche Funktionen in unserem System verfügbar sind, können wir einfach ausführen:

$ cat/proc/sys/kernel/sysrq 176 

Der Befehl gab einen Wert von zurück 176. Wie dieser Wert erhalten wird und wofür er steht? Jeder Wert entspricht einer bestimmten Funktion, wie Sie in der folgenden Liste sehen können:

0 - SYSRQ vollständig deaktivieren 1 - Aktivieren Sie alle Funktionen von sysrq 2 - die Kontrolle der Konsolenprotokollierungsstufe 4 aktivieren - die Kontrolle der Tastatur (SAK, Unweaw) 8 - Aktivieren Sie Debugging -Dumps von Prozessen usw. 16 - SYNC -Befehl 32 aktivieren - aktivieren Sie die remount -schreibgeschützte 64 - aktivieren Sie die Signalübertragung von Prozessen (Term, Kill, Oom -Kill) 128 - Ermöglichen 

Während ein Wert von 0 deaktiviert alle Sysrq Funktionen und ein Wert von 1 Ermöglicht sie allen, die Werte, die größer als 1 sind. Wie oben verifiziert, haben wir eine Sysrq Wert von 176. Dies wird aus der Summe von erhalten 128 (Dadurch ermöglicht es Neustart und Poweroff) + 32 (Fähigkeit, Dateisysteme im schreibgeschützten Modus neu zu bearbeiten) + 16, Dies ermöglicht den Befehl sync. Ebenso der Wert von 438 wird aus der Summe von 2 + 4 + 16 + 32 + 128 + 256 erhalten, sodass alle entsprechenden Funktionen aktiviert sind.

So ändern Sie den SYSRQ -Wert

Wir wissen jetzt was die Sysrq Wert ist, aber wie können wir es ändern? Um diesen Wert sofort zu ändern, müssen wir nur den Gesuchten in die schreiben /proc/sys/kernel/sysrq Datei durch Ausführen:

# echo "1">/proc/sys/kernel/sysrq

Auf diese Weise wird die Änderung sofort effektiv sein, aber es wird keinen Neustart überleben. Wie man es anhaltend macht? Das ist sehr einfach. Eine generische Lösung, die in allen Linux -Verteilungen funktioniert Kernel.sysrq im /etc/sysctl.D/99-SYSCTL.Conf Datei:

# Echo "Kernel.sysrq = 1 ">> /etc /sysctl.D/99-SYSCTL.Conf

Bitte beachten Sie, wie wir die benutzt haben >> Umleitungsbetreiber: Dadurch wird der Text an die Datei angehängt und andere Einstellungen nicht überschrieben, die bereits enthalten sind.



Die Reisub -Sequenz

Von allen Befehlsschlüsselsequenzen, Reisub ist wahrscheinlich der berühmteste. Um sich an diese Sequenz zu erinnern, wird sie oft als Akronym für „Aufzucht von Elefanten ist so langweilig“ verwendet, so dass es so langweilig ist. Was erreicht diese Sequenz?? Holding ALT+SYSRQ -Schlüssel, Wir drücken die Befehlstasten nacheinander, und genau das passiert:

Erstens R schaltet die Tastatur von roh Zu Xlate Modus dann, e sendet a Sigterm Signal auf alle Prozesse, damit sie auf anmutig geschlossen werden können, wenn sie möglich ist. Danach senden wir eine Sigkill Signal durch Drücken ich, Um den verbleibenden Prozess zu beenden, der nicht auf das vorherige Signal reagierte. Mit S Wir versuchen, alle montierten Dateisysteme zu synchronisieren und alle Änderungen sofort von Cache zur Festplatte zu spülen. Durch die Nutzung u Wir machen alle Dateisysteme in neu schreibgeschützt Modus und schließlich durch Drücken B, Wir führen einen System -Neustart durch.

Der Reisub Die Sequenz kann in bestimmten Situationen verwendet werden, wenn das System sehr nicht mehr reagiert, und andere Lösungen reichen nicht aus, um Dinge zu beheben. Die Befehlstschlüssel, die diese Sequenz verfassen, sind jedoch nur eine Teilmenge der verfügbaren Sysrq Kerneldokumentation.

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Linux -Befehle: Top 20 wichtigste Befehle, die Sie benötigen, um…
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Grundlegende Linux -Befehle
  • So drucken Sie den Verzeichnisbaum mit Linux
  • Linux -Download
  • Linux -Konfigurationsdateien: Top 30 am wichtigsten
  • Installieren Sie Arch Linux in VMware Workstation
  • Beste Linux -Distribution für Entwickler
  • Dinge zu tun nach der Installation Ubuntu 22.04 Jammy Quallen…