Heute stellen wir kurz vor, wie man andere Benutzer, die über SSH mit dem System verbunden sind, rausschmeißt.
Pixeliges Wort Linux aus Würfeln, Mosaikmuster
Wenn Sie sich über SSH bei einem Remote-Linux-System anmelden, verwenden Sie einfach den Exit-Befehl, um SSH zu beenden. Was ist also, wenn Sie andere Benutzer abmelden möchten, die über ssh am System angemeldet sind?
Benutzer in SSH-Sitzung abmelden
Überprüfen Sie zunächst die Liste der angemeldeten Benutzer im Linux-System. Es gibt verschiedene Möglichkeiten, dies zu erreichen. Hier verwenden wir den Befehl „who“ zusammen mit der Option „-u“, die die Prozess-ID der im System angemeldeten Shell-Sitzung anzeigt:
who -u
Die Ausgabe sieht so aus:
root@localhost:~# who -u abhishek pts/0 2021-04-05 09:25 00:01 31970 (223.180.180.107) prakash pts/1 2021-04-05 09:26 . 32004 (223.180.180.107) root pts/2 2021-04-05 09:26 . 32039 (223.180.180.107)
Als nächstes nehmen wir an, dass unsere Aufgabe darin besteht, den Benutzer prakash aus der SSH-Sitzung zu werfen, dessen Prozess-ID der Shell-Sitzung 32004 ist. Sobald der Vorgang abgeschlossen ist, wird die Verbindung zum Benutzer getrennt.
Dazu können Sie mit dem Kill-Befehl ein SIGHUP-Signal senden, mit dem gemeldet wird, dass die Verbindung zum Terminal des Benutzers getrennt wurde, und das auch effektiv alle Prozesse in der Sitzung vom steuernden Terminal trennen kann.
sudo kill -HUP 32004
Um diesen Vorgang auszuführen, müssen Sie natürlich der Root-Benutzer sein oder über Sudo-Berechtigungen verfügen.
Als relativ freundliche Angewohnheit ist es am besten, einem Benutzer eine Nachricht zu senden, bevor man ihn tritt. Um Informationen zu senden, können Sie den Schreibbefehl verwenden, wie unten gezeigt:
echo "Your session will end in 2 minutes. Save your work!" | write prakash pts/2
Was passiert also, wenn das Senden eines SIGNHUP-Signals nicht funktioniert? Sie können auch die Beendigung der SSH-Sitzung erzwingen.
Beenden der SSH-Sitzung erzwingen
Wenn das SIGHUP-Signal nicht funktioniert, können Sie das SIGKILL-Signal senden.
sudo kill -9 32004
Wenn Sie mehrere SSH-Sitzungen haben, können Sie den Benutzer von der ausgewählten Sitzung abmelden
Wenn sich ein einheitlicher Benutzer von mehreren Systemen oder Terminals aus anmeldet, wirkt sich der obige Vorgang nur auf die Sitzung aus, die wir beenden möchten. Es werden nicht alle Sitzungen des Benutzers ausgeschlossen.
Wenn die SSH-Sitzung beispielsweise aus bestimmten Gründen (z. B. einer Netzwerkunterbrechung) aufhängt, können wir das Terminal beenden und eine weitere SSH-Sitzung vom neuen Terminal aus öffnen. In diesem Fall können wir uns als Zweiter im System anmelden -Rate.
Zu diesem Zeitpunkt müssen wir die inaktive Sitzung schließen.
In der Ausgabe des who-Befehls können wir anhand der Anmeldezeit bestimmen, welcher Benutzer gekickt werden soll. Natürlich kann es sein, dass Sie aufgrund einer Fehleinschätzung rausgeschmissen werden, aber das macht nichts, Sie können sich wieder anmelden.
Das obige ist der detaillierte Inhalt vonSo melden Sie andere SSH-Benutzer unter Linux ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!