Linux - Angemeldete User
Diese Anleitung zeigt, wie man auf einem Debian-Server:
- aktive Logins anzeigt,
- die Art der Anmeldung erkennt (z. B. SSH, TTY),
- und Benutzer-Sessions gezielt trennt („kicken“).
su -).1. Aktive Benutzer anzeigen
1.1 Schnellübersicht mit who
Der Befehl who zeigt, wer aktuell eingeloggt ist.
who
Typische Ausgabe:
user1 pts/0 2025-12-02 10:15 (192.168.1.10)
user2 pts/1 2025-12-02 10:20 (10.0.0.5)
- user1 / user2: Benutzername
- pts/0, pts/1: Terminal (Pseudo-Terminal, meistens SSH)
- Datum/Uhrzeit: Zeitpunkt der Anmeldung
- IP/Hostname: Quelle der Verbindung
1.2 Detailansicht mit w
w liefert zusätzlich, was die Benutzer gerade tun.
w
Typische Ausgabe (Beispiel gekürzt):
10:25:01 up 10 days, 3:12, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user1 pts/0 192.168.1.10 10:15 2:00 0.01s 0.01s -bash
user2 pts/1 10.0.0.5 10:20 0.00s 0.02s 0.00s sshd: user2@pts/1
1.3 Nur Benutzernamen mit users
Wenn nur eine schnelle Liste der angemeldeten Benutzer benötigt wird:
users
2. Anmelde-Historie anzeigen
2.1 Letzte Logins mit last
last liest /var/log/wtmp und zeigt vergangene Logins und Logouts.
last
Beispielausgabe:
user1 pts/0 192.168.1.10 Tue Dec 2 10:15 still logged in
user2 pts/1 10.0.0.5 Tue Dec 2 10:20 - 10:30 (00:10)
reboot system boot 5.10.0-xx Mon Dec 1 09:00 still running
Mit zusätzlicher Anzeige der IP/Hostname am Ende:
last -a
2.2 Übersicht über alle Benutzer mit lastlog
Alle Benutzer und deren letzten Login:
lastlog
Damit lassen sich z. B. inaktive Accounts erkennen.
3. SSH-Logins über Logdateien prüfen
SSH-Anmeldungen werden auf Debian typischerweise in /var/log/auth.log protokolliert.
3.1 Aktuelle SSH-Sessions und Logins anzeigen
Nur die Zeilen mit geöffneten Sessions anzeigen:
grep "session opened for user" /var/log/auth.log
Nur fehlgeschlagene SSH-Logins anzeigen:
grep "Failed password" /var/log/auth.log
3.2 Live-Monitoring von SSH-Anmeldungen
Neue SSH-Einträge fortlaufend beobachten:
tail -f /var/log/auth.log
Oder mit journalctl (bei systemd):
journalctl -u ssh -f
4. Benutzer-Sessions gezielt trennen („kicken“)
4.1 Session über Terminal (TTY/PTS) beenden
1. Zuerst das Terminal des Benutzers ermitteln, z. B. mit who:
who
Beispiel:
user1 pts/0 2025-12-02 10:15 (192.168.1.10)
Hier ist das Terminal pts/0.
2. Session über dieses Terminal beenden:
pkill -KILL -t pts/0
-KILL: sendet das SIGKILL-Signal (sofortiges Beenden)-t pts/0: Ziel ist das Terminalpts/0
Nach diesem Befehl wird der Benutzer user1 von diesem Terminal abgemeldet.
4.2 Session über loginctl beenden (systemd)
Auf systemd-basierten Systemen (aktuelles Debian) können Sessions mit loginctl verwaltet werden.
4.2.1 Sessions anzeigen
loginctl list-sessions
Beispielausgabe:
SESSION UID USER SEAT TTY
2 1000 user1 pts/0
3 1001 user2 pts/1
4.2.2 Einzelne Session beenden
Um z. B. Session 2 zu beenden:
loginctl terminate-session 2
4.2.3 Alle Sessions eines Benutzers beenden
Um alle Sessions des Benutzers user1 zu beenden:
loginctl kill-user user1
5. Welche Art von Anmeldung liegt vor?
Über die Ausgabe von w, who und die Logs lässt sich die Art der Anmeldung erkennen:
- SSH: TTY beginnt meist mit
pts/und FROM ist eine IP/Hostname. - Lokale Konsole: TTY wie
tty1, FROM oft leer oder:. - Andere Dienste: z. B. SFTP, je nach Konfiguration teilweise nur in Logs sichtbar.
Über die Logdatei /var/log/auth.log sieht man zudem genau:
- Von welcher IP ein Login kommt,
- ob der Login erfolgreich war,
- wann eine Session geöffnet oder geschlossen wurde.
6. Praxis-Beispiele
6.1 Alle aktuell eingeloggten Benutzer anzeigen
who
w
6.2 Historie der Logins eines bestimmten Benutzers
Beispielsweise für den Benutzer user1:
last user1
6.3 Alle fehlgeschlagenen SSH-Logins anzeigen
grep "Failed password" /var/log/auth.log
6.4 Bestimmten SSH-Benutzer sofort trennen
Beispiel: user1 ist auf pts/0 eingeloggt.
who
pkill -KILL -t pts/0
7. Zusammenfassung
who,w,users: aktuelle Loginslast,lastlog: Login-Historie/var/log/auth.logundjournalctl -u ssh: Details zu SSH-Loginspkill -KILL -t <tty>: einzelne Session über Terminal beendenloginctl terminate-session/loginctl kill-user: Sessions über systemd verwalten
Mit diesen Befehlen lassen sich Benutzeraktivitäten auf einem Debian-Server nachvollziehen und bei Bedarf Sessions gezielt trennen.
No Comments