So aktivieren Sie alle SYSRQ -Funktionen unter Linux
- 1387
- 402
- Levke Harnapp
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 vonsudo
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…
- « Einführung in die Linux -Kernel -Protokollpegel
- So richten und steuern Sie sie über Webschnittstellen auf einem Raspberry Pi »