Ein Linux-Systemadministrator sollte ein Auge darauf haben, wer gerade im Linux-System angemeldet ist und was sie vorhaben. Wir wussten bereits, wie man die zuletzt eingeloggten Benutzer findet unter Linux. Wie würden Sie feststellen, wer gerade auf Ihrem Linux-System angemeldet ist und was er tut? Leicht! Dieses Tutorial listet verschiedene Methoden auf, um aktuell angemeldete Benutzer in Linux zu finden.
1. Finden Sie aktuell angemeldete Benutzer in Linux mit w
Befehl
In Linux-Betriebssystemen gibt es einen speziellen Einbuchstabenbefehl namens w
das hilft Ihnen herauszufinden, wer angemeldet ist und was er im System tut. Dies ist das am häufigsten verwendete Befehlszeilentool zum Anzeigen der Informationen über die Benutzer, die sich derzeit auf dem Server befinden, und ihre Prozesse.
Das w
Der Befehl ist oft nützlich, wenn Sie einen Linux-Server verwalten, auf den häufig viele Benutzer zugreifen. Sie können sie alle verfolgen, ohne zusätzliche Tools oder Anwendungen installieren zu müssen.
Das w
Der Befehl zeigt verschiedene nützliche Details, einschließlich der folgenden:
- die aktuelle Zeit,
- wie lange das System läuft,
- wie viele Benutzer derzeit angemeldet sind,
- und die durchschnittliche Systemlast der letzten 1, 5 und 15 Minuten.
Das w
Der Befehl ruft Informationen darüber ab, wer derzeit aus /var/run/utmp
angemeldet ist Datei und ruft die Prozessinformationen aus /proc
ab Datei.
Lassen Sie uns nun sehen, wie man w
verwendet Befehl, um anzuzeigen, wer auf Ihrem Linux-Rechner angemeldet ist und was er tut.
Die typische Verwendung von w
Befehl ist:
$ w [options] user
Wenn Sie den Befehl w ohne Optionen ausführen, werden alle derzeit angemeldeten Benutzer in Ihrem Linux-System angezeigt:
$ w
Beispielausgabe:
08:42:30 up 28 min, 2 users, load average: 1.30, 0.87, 0.45
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
sk tty1 - 08:41 42.00s 0.10s 0.06s -bash
ostechni pts/1 192.168.225.37 08:42 6.00s 0.09s 0.01s w
Wie Sie in der obigen Ausgabe sehen können, gibt es derzeit zwei Benutzer (sk und ostechni ) bei meinem Ubuntu-Server angemeldet. Das w
Der Befehl zeigt die folgenden Details für die einzelnen Benutzer an:
- Anmeldename,
- der tty-Name,
- Quell-IP-Adresse, von der aus sich der Benutzer angemeldet hat,
- Anmeldezeit,
- Leerlaufzeit,
- JCPU-Zeit (die Zeit, die von allen Prozessen verwendet wird, die mit dem tty verbunden sind),
- PCPU-Zeit (die vom aktuellen Prozess verwendete Zeit),
- und die Befehlszeile ihres aktuellen Prozesses.
Wenn Sie die Details eines bestimmten angemeldeten Benutzers (z. B. ostechnix) anzeigen möchten, lautet der Befehl:
$ w ostechnix
08:51:36 up 37 min, 2 users, load average: 1.12, 1.06, 0.76
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
ostechni pts/1 192.168.225.37 08:42 0.00s 0.09s 0.01s w ostech
Mit -h
können Sie den Header aus der Ausgabe weglassen Möglichkeit:
$ w -h
sk tty1 - 08:41 16:13 0.10s 0.06s -bash
ostechni pts/1 192.168.225.37 08:42 1.00s 0.09s 0.01s w -h
Sie können auch die IP-Adresse anstelle des Hostnamens für "FROM"
anzeigen (Remote-Hostname) mit -i
Möglichkeit:
$ w -i
Möglicherweise möchten Sie nicht alle Details ausdrucken. In diesem Fall können Sie die Anmeldezeit, JCPU- oder PCPU-Zeiten mit -s
ausschließen (--short
) Option:
$ w -s
09:02:50 up 48 min, 2 users, load average: 0.31, 0.79, 0.84
USER TTY FROM IDLE WHAT
sk tty1 - 21:02 -bash
ostechni pts/1 192.168.225.37 1.00s w -s
Weitere Einzelheiten finden Sie in den Manpages:
$ man w
Oder siehe Hilfeabschnitt:
$ w --help
Usage:
w [options]
Options:
-h, --no-header do not print header
-u, --no-current ignore current process username
-s, --short short format
-f, --from show remote hostname field
-o, --old-style old style output
-i, --ip-addr display IP address instead of hostname (if possible)
--help display this help and exit
-V, --version output version information and exit
For more details see w(1).
2. Zeigen Sie alle angemeldeten Benutzer mit who
an Befehl
Der who
Der Befehl ist ein weiteres Befehlszeilentool zum Anzeigen von Informationen über Benutzer, die derzeit auf einem Linux-Computer angemeldet sind.
Wenn Sie who
ausführen Befehl ohne Optionen, werden alle angemeldeten Benutzer angezeigt:
$ who
Beispielausgabe:
sk tty1 2021-01-12 08:41
ostechnix pts/1 2021-01-12 08:42 (192.168.225.37)
Wie Sie in der obigen Ausgabe sehen, who
Der Befehl zeigt den Benutzernamen, den Typ des Endgeräts (z. B. tty
oder pts
), an dem die Sitzung stattfand, die Startzeit und die Quell-IP-Adresse, von der aus sich der Benutzer angemeldet hat.
Sie können Details für einen bestimmten Benutzer mit grep
filtern Befehl:
$ who | grep ostechnix
ostechnix pts/1 2021-01-12 08:42 (192.168.225.37)
Der obige Befehl findet heraus, ob der angegebene Benutzer ostechnix eingeloggt ist oder nicht.
Wenn Sie nur Informationen für die aktuelle Terminalsitzung anzeigen möchten, führen Sie Folgendes aus:
$ who am i
ostechnix pts/1 2021-01-12 08:42 (192.168.225.37)
Bitte beachten Sie die Leerzeichen zwischen den Wörtern. Wenn Sie den obigen Befehl ohne Leerzeichen ausführen, wird nur der Benutzername angezeigt:
$ whoami
ostechnix
Der who
Der Befehl hat einige andere Optionen, um eine angepasste Ausgabe zu erhalten.
Beispielsweise können Sie sich mit -a
alle verfügbaren Informationen aktueller Logins anzeigen lassen Flagge:
$ who -a
Beispielausgabe:
system boot 2021-01-12 08:14
sk - tty1 2021-01-12 08:41 00:59 1463
run-level 5 2021-01-12 08:15
ostechnix + pts/1 2021-01-12 08:42 . 1477 (192.168.225.37)
LOGIN tty6 2021-01-12 08:41 1366 id=tty6
Um alle verfügbaren Informationen mit Spaltenüberschriften anzuzeigen, verwenden Sie -H
Flagge:
$ who -a -H
NAME LINE TIME IDLE PID COMMENT EXIT
system boot 2021-01-12 08:14
sk - tty1 2021-01-12 08:41 00:59 1463
run-level 5 2021-01-12 08:15
ostechnix + pts/1 2021-01-12 08:42 . 1477 (192.168.225.37)
LOGIN tty6 2021-01-12 08:41 1366 id=tty6
Weitere Einzelheiten finden Sie in den Manpages und im Hilfeabschnitt des Befehls who mit einem der folgenden Befehle:
$ man who
$ who --help
3. Angemeldete Benutzer mit users
drucken Befehl
Die users
Der Befehl gibt die Benutzernamen der Benutzer aus, die derzeit beim aktuellen Hostsystem angemeldet sind.
Um eine Liste aller angemeldeten Benutzer auf einem Linux-Rechner anzuzeigen, führen Sie Folgendes aus:
$ users
ostechnix sk
Um Hilfe zu erhalten, führen Sie einen der folgenden Befehle aus:
$ man users
$ users --help
4. Angemeldete Benutzer mit last
anzeigen Befehl
Der last
Der Befehl zeigt normalerweise alle Benutzer an, die sich seit dem /var/log/wtmp
jemals an einem Linux-Computer an- und abgemeldet haben Datei wurde erstellt.
$ last
Die Liste der derzeit angemeldeten Benutzer wird oben angezeigt.
ostechni pts/1 192.168.225.37 Tue Jan 12 08:42 still logged in
sk tty1 Tue Jan 12 08:41 still logged in
ostechni tty1 Tue Jan 12 08:41 - 08:41 (00:00)
sk pts/1 192.168.225.37 Tue Jan 12 08:41 - 08:41 (00:00)
[...]
Hilfe finden Sie in den Manpages oder verwenden Sie --help
Möglichkeit:
$ man last
$ last --help
5. Finden Sie mit dem Befehl id heraus, wer in einem Linux-System angemeldet ist
Die id
Der Befehl wird verwendet, um Benutzer- und Gruppeninformationen für den angegebenen BENUTZER oder für den aktuellen Benutzer auszugeben, wenn BENUTZER weggelassen wird.
Um den aktuell angemeldeten Benutzer in der aktuellen Sitzung zu drucken, führen Sie id
aus Befehl mit -un
Optionen:
$ id -un
ostechnix
Dies ist dasselbe wie whoami
Befehl.
Gehen Sie wie folgt vor, um Hilfe zu erhalten:
$ man id
$ id --help
Alle oben genannten Tools sind in den meisten Linux-Distributionen standardmäßig verfügbar. Es ist ein weiteres Befehlszeilentool verfügbar, um herauszufinden, wer in einem Linux-System angemeldet ist. Es wird nicht standardmäßig installiert, ist aber in den Standard-Repositories der meisten Linux-Distributionen verfügbar.
6. Angemeldete Benutzer per Fingerbefehl auflisten
Finger ist ein Befehlszeilen-Dienstprogramm zum Nachschlagen von Benutzerinformationen. Es zeigt den Anmeldenamen des Benutzers, den echten Namen, den Terminalnamen und den Schreibstatus, die Leerlaufzeit, die Anmeldezeit, den Bürostandort und die Bürotelefonnummer usw. an.
Das Finger-Programm wird in einigen Linux-Distributionen standardmäßig nicht installiert. Sie können Finger in Debian- und Ubuntu-Systemen mit dem apt-Paketmanager wie folgt installieren:
$ sudo apt install finger
Führen Sie nach der Installation den Fingerbefehl aus, um angemeldete Benutzer in Ihrem Linux-System zu finden:
$ finger
Beispielausgabe:
Login Name Tty Idle Login Time Office Office Phone
ostechnix ostechnix pts/1 Jan 12 08:42 (192.168.225.37)
sk *tty1 3:17 Jan 12 08:41
Informationen über einen bestimmten Benutzer anzeigen:
$ finger ostechnix
Beispielausgabe:
Login: ostechnix Name: ostechnix
Directory: /home/ostechnix Shell: /bin/bash
On since Tue Jan 12 08:42 (UTC) on pts/1 from 192.168.225.37
2 seconds idle
No mail.
No Plan.
Dies sind einige Methoden, um die aktuell angemeldeten Benutzer in einem Linux-System zu finden. Zu wissen, wer angemeldet ist, und herauszufinden, was er in Ihrem System tut, kann bei der Fehlerbehebung hilfreich sein. Ich hoffe, eine der oben genannten Methoden wird Ihnen weiterhelfen.
Verwandte Lektüre:
- So listen Sie alle Benutzer unter Linux auf
- So überwachen Sie die Benutzeraktivität unter Linux
- Einschränken des Benutzerzugriffs auf das Linux-System