Stellen wir uns ein solches Szenario vor. Sie verfügen über einen Server, auf den häufig viele Benutzer von verschiedenen Systemen im Netzwerk aus zugreifen. Es ist möglich, dass einige Benutzer vergessen, sich von der Sitzung abzumelden, während die Sitzung geöffnet bleibt. Wir alle wissen, wie gefährlich es ist, eine Benutzersitzung verbunden zu lassen. Einige Benutzer verwenden dies möglicherweise, um absichtlich Dinge zu tun, die das System beschädigen. Und werden Sie als Systemadministrator jedes System aufsuchen, um zu überprüfen, ob sich der Benutzer abgemeldet hat? Tatsächlich ist dies völlig unnötig. Und wenn es Hunderte oder Tausende von Maschinen im Netzwerk gibt, ist das zu aufwändig. Sie können jedoch festlegen, dass sich Benutzer automatisch abmelden, wenn sie für einen bestimmten Zeitraum auf dem Computer oder in der SSH-Sitzung inaktiv sind. In diesem Tutorial erfahren Sie, wie Sie dies auf einem Unix-ähnlichen System tun. Es ist überhaupt nicht schwierig. Mach es mit mir.
Implementierung der automatischen Abmeldung inaktiver Benutzer nach einer gewissen Zeit unter Linux
Es gibt drei Möglichkeiten, dies zu erreichen. Schauen wir uns zunächst die erste Methode an.
Methode 1:
Bearbeiten Sie die Datei ~/.bashrc oder ~/.bash_profile:
$ vi ~/.bashrc
oder,
$ vi ~/.bash_profile
Fügen Sie die folgenden Zeilen hinzu:
TMOUT=100
Dadurch wird der Benutzer nach 100 Sekunden Inaktivität automatisch abgemeldet. Sie können diesen Wert nach Bedarf definieren. Speichern und schließen Sie die Datei.
Führen Sie den folgenden Befehl aus, damit die Änderungen wirksam werden:
$ source ~/.bashrc
oder,
$ source ~/.bash_profile
Lassen Sie die Sitzung nun 100 Sekunden lang im Leerlauf laufen. Nach 100 Sekunden Inaktivität wird die folgende Meldung angezeigt und der Benutzer meldet sich automatisch von der Sitzung ab.
timed out waiting for input: auto-logout Connection to 192.168.43.2 closed.
Diese Einstellung kann vom Benutzer einfach geändert werden. Denn die Datei ~/.bashrc gehört dem Benutzer selbst.
Um die Timeout-Einstellung zu ändern oder zu löschen, löschen Sie einfach die oben hinzugefügte Zeile und führen Sie den Quellbefehl ~/.bashrc aus, damit die Änderung wirksam wird.
Darüber hinaus können Benutzer auch den folgenden Befehl ausführen, um die Zeitüberschreitung zu deaktivieren:
$ export TMOUT=0
oder,
$ unset TMOUT
Wenn Sie verhindern möchten, dass Benutzer diese Einstellung ändern, verwenden Sie stattdessen die folgende Methode.
Methode 2:
Melden Sie sich als Root-Benutzer an.
Erstellen Sie eine neue Datei mit dem Namen autologout.sh.
# vi /etc/profile.d/autologout.sh
Fügen Sie Folgendes hinzu:
TMOUT=100 readonly TMOUT export TMOUT
Speichern und beenden Sie die Datei.
Fügen Sie ausführbare Berechtigungen hinzu:
# chmod +x /etc/profile.d/autologout.sh
Jetzt melden Sie sich ab oder starten Sie das System neu. Inaktive Benutzer werden nach 100 Sekunden automatisch abgemeldet. Normale Benutzer können diese Konfiguration nicht ändern, selbst wenn sie die Sitzungsverbindung beibehalten möchten. Sie erzwingen das Beenden nach 100 Sekunden.
Beide Methoden funktionieren sowohl für lokale als auch für Remote-Sitzungen (d. h. Benutzer, die lokal angemeldet sind, und Benutzer, die über SSH auf dem Remote-System angemeldet sind). Sehen wir uns an, wie Sie automatisch nur inaktive SSH-Sitzungen abmelden, ohne sich automatisch von lokalen Sitzungen abzumelden.
Methode 3:
Auf diese Weise wird der SSH-Sitzungsbenutzer nur dann automatisch abgemeldet, wenn er eine Zeit lang inaktiv war.
Bearbeiten Sie die Datei /etc/ssh/sshd_config:
$ sudo vi /etc/ssh/sshd_config
Folgende Zeilen hinzufügen/ändern:
ClientAliveInterval 100 ClientAliveCountMax 0
Speichern und beenden Sie die Datei. Starten Sie den SSHD-Dienst neu, damit die Änderungen wirksam werden.
$ sudo systemctl restart sshd
Jetzt melden Sie sich per SSH beim Remote-System an. Nach 100 Sekunden wird die SSH-Sitzung automatisch geschlossen und Sie sehen die folgende Meldung:
$ Connection to 192.168.43.2 closed by remote host. Connection to 192.168.43.2 closed.
Jetzt wird sich jeder, der sich über SSH von einem Remote-System aus bei diesem System anmeldet, nach 100 Sekunden Inaktivität automatisch abmelden.
Das obige ist der detaillierte Inhalt vonEinführung automatischer Abmeldemethoden unter Linux, um längere Zeiträume der Benutzerinaktivität zu verhindern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!