Dieser Artikel wurde von Hari Haran verfasst.
Als Systemadministrator möchten Sie vielleicht wissen, wer sich zu einem bestimmten Zeitpunkt auf dem System befindet. Vielleicht möchten Sie auch wissen, was sie tun. Lassen Sie uns in diesem Artikel 4 verschiedene Methoden untersuchen, um zu identifizieren, wer sich auf Ihrem Linux-System befindet.
1. Holen Sie sich die laufenden Prozesse des angemeldeten Benutzers mit w
w-Befehl wird verwendet, um eingeloggte Benutzernamen anzuzeigen und was sie tun. Die Informationen werden aus der Datei /var/run/utmp gelesen. Die Ausgabe des w-Befehls enthält die folgenden Spalten:
- Name des Benutzers
- Rechnernummer oder TTY-Nummer des Benutzers
- Remote-Rechneradresse
- Anmeldezeit des Benutzers
- Leerlaufzeit (nicht nutzbare Zeit)
- Zeit, die von allen an das tty angehängten Prozessen verwendet wird (JCPU-Zeit)
- Vom aktuellen Prozess verwendete Zeit (PCPU-Zeit)
- Befehl wird derzeit von den Benutzern ausgeführt
Folgende Optionen können für den w-Befehl verwendet werden:
- -h Header-Informationen ignorieren
- -u Anzeige der durchschnittlichen Auslastung (Uptime-Ausgabe)
- -s Entfernt die JCPU, PCPU und Anmeldezeit.
$ w 23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 2:53 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.00s 0.00s w $ w -h ramesh pts/0 dev-db-server 22:57 17:43 2.52s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 20:28 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -h $ w -u 23:22:06 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 17:47 2.52s 2.49s top jason pts/1 dev-db-server 23:01 20:32 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -u $ w -s 23:22:10 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM IDLE WHAT ramesh pts/0 dev-db-server 17:51 sshd: ramesh [priv] jason pts/1 dev-db-server 20:36 -bash john pts/2 dev-db-server 1.00s w -s
2. Holen Sie sich den Benutzernamen und den Prozess des angemeldeten Benutzers mit dem Befehl who und users
die befehlen wird verwendet, um die Liste der Benutzernamen zu erhalten, die derzeit angemeldet sind. Die Ausgabe des who-Befehls enthält die folgenden Spalten:Benutzername, TTY-Nummer, Datum und Uhrzeit, Rechneradresse.
$ who ramesh pts/0 2009-03-28 22:57 (dev-db-server) jason pts/1 2009-03-28 23:01 (dev-db-server) john pts/2 2009-03-28 23:04 (dev-db-server)
Um eine Liste aller Benutzernamen zu erhalten, die derzeit angemeldet sind, verwenden Sie Folgendes:
$ who | cut -d' ' -f1 | sort | uniq john jason ramesh
Benutzerbefehl
Benutzerbefehl wird verwendet, um die Benutzernamen zu drucken, die alle derzeit beim aktuellen Host angemeldet sind. Es ist einer der Befehle, die keine andere Option als Hilfe und Version haben. Wenn der Benutzer „n“ Terminals verwendet, wird der Benutzername in der Ausgabe „n“ Mal angezeigt.
$ users john jason ramesh
3. Holen Sie sich den Benutzernamen, mit dem Sie derzeit angemeldet sind, mit whoami
whoami Befehl wird verwendet, um den angemeldeten Benutzernamen zu drucken.
$ whoami john
whoami-Befehl ergibt dieselbe Ausgabe wie id -un wie unten gezeigt:
$ id -un john
wer bin ich Der Befehl zeigt den angemeldeten Benutzernamen und die aktuellen TTY-Details an. Die Ausgabe dieses Befehls enthält die folgenden Spalten:Name des angemeldeten Benutzers, TTY-Name, aktuelle Uhrzeit mit Datum und IP-Adresse, von wo aus dieser Benutzer die Verbindung initiiert hat.
$ who am i john pts/2 2009-03-28 23:04 (dev-db-server) $ who mom likes john pts/2 2009-03-28 23:04 (dev-db-server) Warning: Don't try "who mom hates" command.
Auch wenn Sie su mit einem anderen Benutzer machen, wird dieser Befehl die Informationen über die Details des eingeloggten Benutzernamens geben.
4. Rufen Sie jederzeit den Anmeldeverlauf des Benutzers ab
letzter Befehl gibt den Anmeldeverlauf für einen bestimmten Benutzernamen aus. Wenn wir für diesen Befehl kein Argument angeben, wird der Anmeldeverlauf für alle Benutzer aufgelistet. Standardmäßig werden diese Informationen aus der Datei /var/log/wtmp gelesen. Die Ausgabe dieses Befehls enthält die folgenden Spalten:
- Benutzername
- Tty-Gerätenummer
- Datum und Uhrzeit der Anmeldung
- Abmeldezeit
- Gesamtarbeitszeit
$ last jason jason pts/0 dev-db-server Fri Mar 27 22:57 still logged in jason pts/0 dev-db-server Fri Mar 27 22:09 - 22:54 (00:45) jason pts/0 dev-db-server Wed Mar 25 19:58 - 22:26 (02:28) jason pts/1 dev-db-server Mon Mar 16 20:10 - 21:44 (01:33) jason pts/0 192.168.201.11 Fri Mar 13 08:35 - 16:46 (08:11) jason pts/1 192.168.201.12 Thu Mar 12 09:03 - 09:19 (00:15) jason pts/0 dev-db-server Wed Mar 11 20:11 - 20:50 (00:39
Dieser Artikel wurde von Hari Haran. verfasst Er arbeitet bei bk Systems (p) Ltd und ist daran interessiert, zu Open Source beizutragen. The Geek Stuff freut sich über Ihre Tipps und Gastartikel.