Als Linux-Administrator müssen Sie die Aktivitäten aller Benutzer verfolgen. Es wird hilfreich sein, wenn auf dem Server etwas schief gelaufen ist. Sie können die Aktivitäten der Benutzer analysieren und untersuchen und versuchen, die Ursache des Problems zu finden. Es gibt viele Möglichkeiten, Benutzer zu überwachen. In diesem Leitfaden werden wir über GNU-Buchhaltungsprogramme sprechen die verwendet werden können, um die Benutzeraktivität in Linux zu überwachen. Die Abrechnungsdienstprogramme liefern nützliche Informationen über die Systemnutzung, wie z. B. Verbindungen, ausgeführte Programme und Nutzung von Systemressourcen. Diese Buchhaltungsprogramme können mit psacct installiert werden oder acct Paket. psacct oder acct sind gleich. In RPM-basierten Systemen ist es als psacct verfügbar und in DEB-basierten Systemen ist es als acct verfügbar.
Im Allgemeinen werden die Details des Befehlszeilenverlaufs des Benutzers in .bash_history gespeichert Datei in ihrem $HOME-Verzeichnis. Einige Benutzer versuchen möglicherweise, den Verlauf zu bearbeiten, zu ändern oder zu löschen. Die Buchhaltungsprogramme sind jedoch weiterhin in der Lage, die Benutzeraktivitäten abzurufen, obwohl sie ihren Befehlszeilenverlauf gelöscht haben ganz und gar. Weil alle Prozessabrechnungsdateien dem Root-Benutzer gehören und die normalen Benutzer sie nicht bearbeiten können.
psacct oder acct installieren
Führen Sie unter RHEL, CentOS, Fedora, Scientific Linux den folgenden Befehl als Root-Benutzer aus, um psacct zu installieren:
$ sudo yum install psacct
Aktivieren und starten Sie den psacct-Dienst mit folgenden Befehlen:
$ sudo systemctl enable psacct
$ sudo systemctl start psacct
Installieren Sie es unter Debian, Ubuntu, Linux Mint wie unten beschrieben.
$ sudo apt-get install account
Der obige Befehl installiert acct und startet seinen Dienst automatisch.
Sie können überprüfen, ob es gestartet ist oder nicht, indem Sie den Befehl verwenden:
$ sudo systemctl status acctHerunterladen - Kostenloses eBook:"Handbuch zur Nagios-Überwachung"
Benutzeraktivität unter Linux überwachen
Das Paket psacct (Process Accounting) enthält die folgenden nützlichen Dienstprogramme zur Überwachung der Benutzer- und Prozessaktivitäten.
- ac - Zeigt Statistiken darüber an, wie lange Benutzer angemeldet sind.
- lastcomm - Zeigt Informationen über zuvor ausgeführte Befehle an.
- Konto - Schaltet die Prozessabrechnung ein oder aus.
- dump-acct - Wandelt die Ausgabedatei vom Accton-Format in ein für Menschen lesbares Format um.
- dump-utmp - Druckt utmp-Dateien in menschenlesbarem Format.
- sa - Fasst Informationen über zuvor ausgeführte Befehle zusammen.
Sehen wir uns eines mit Beispielen an.
ac
Der ac zeigt den Bericht der Verbindungszeit in Stunden an. Es kann Ihnen sagen, wie lange ein Benutzer oder eine Gruppe von Benutzern mit dem System verbunden war.
$ac
Dieser Befehl zeigt die Gesamtverbindungszeit aller Benutzer in Stunden an.
Gesamt 30,62
Sie können dieses Ergebnis mit -d nach Tagen sortieren wie unten gezeigt kennzeichnen.
$ ac -d
Beispielausgabe:
24. Nov. gesamt 0,81 12. Apr. gesamt 0,01 20. Juni gesamt 9,27 30. Juni gesamt 0,23 11. März gesamt 5,34 16. März gesamt 0,70 21. März gesamt 9,55 23. März gesamt 1,77 Heute gesamt 3,03
Außerdem können Sie mit -p anzeigen, wie lange jeder Benutzer mit dem System verbunden war Flagge.
$ ac -p
Beispielausgabe:
sk 0.03root 30.73total 30.76
Außerdem können Sie sich auch die Gesamtanmeldezeit des einzelnen Benutzers anzeigen lassen.
$acsk
Beispielausgabe:
insgesamt 0,03
Um die Anmeldezeit einzelner Benutzer nach Tag anzuzeigen, führen Sie Folgendes aus:
$ ac -d root
Beispielausgabe:
24. Nov. gesamt 0,81 12. Apr. gesamt 0,01 20. Juni gesamt 9,27 30. Juni gesamt 0,23 11. März gesamt 5,34 16. März gesamt 0,70 21. März gesamt 9,55 23. März gesamt 1,77 Heute gesamt 3,41
Weitere Einzelheiten finden Sie in den Manpages.
$ man ac
letzte Mitteilung
Das letztecomm Dienstprogramm zeigt die Liste der zuvor ausgeführten Befehle an. Die zuletzt ausgeführten Befehle werden zuerst aufgelistet.
$ lastcomm
Beispielausgabe:
sshd SF sshd __ 0,01 Sek. Fr 24. März 15:09 unix_chkpwd S root __ 0.00 s Fr 24. März 15:09 unix_chkpwd S root __ 0.00 s Fr 24. März 15:09 systemd-cgroups S root __ 0.00 s Fr 24. März 15:09 systemd -cgroups S root __ 0,00 s Fr 24. März 15:09 sshd S root __ 0,06 s Fr 24. März 15:09 sshd SF sk __ 0,06 s Fr 24. März 15:09 bash sk pts/1 0.00 s Fr 24. März 15:09 sk pts/ 1 0.00 Sek. Fr 24. März 15:09vi sk pts/1 0.00 s Fr 24. März 15:09cat sk pts/1 0.00 s Fr 24. März 15:09bash F sk pts/1 0.00 s Fr 24. März 15:09consoletype sk pts/1 0,00 Sek. Fr 24. März 15:09 grep sk pts/1 0.00 s Fr 24. März 15:09 bash F sk pts/1 0.00 s Fr 24. März 15:09
Der obige Befehl zeigt alle Benutzerbefehle an. Sie können die zuvor ausgeführten Befehle eines bestimmten Benutzers mit dem Befehl anzeigen:
$ lastcomm sk
Beispielausgabe:
sshd SF sk __ 0,06 s Fr 24. März 15:09bash sk pts/1 0.00 s Fr 24. März 15:09löschen sk pts/1 0.00 s Fr 24. März 15:09vi sk pts/1 0.00 s Fr 24. März 15:09cat sk pts/1 0.00 s Fr 24. März 15:09bash F sk pts/1 0.00 s Fr 24. März 15:09consoletype sk pts/1 0.00 s Fr 24. März 15:09grep sk pts/1 0.00 s Fr 24. März 15:09
Außerdem können Sie sehen, wie oft ein bestimmter Befehl ausgeführt wurde.
$lastcommvi
Beispielausgabe:
vi sk pts/1 0.00 Sek. Fr 24. März 15:09vi root pts/1 0.00 Sek. Fr 24. März 15:03
Wie Sie in der obigen Ausgabe sehen, wurde der vi-Befehl zweimal von root- und sk-Benutzern ausgeführt.
Weitere Einzelheiten finden Sie in den Manpages.
$ man lastcomm
Aktion
Mit diesem Dienstprogramm können Sie die Abrechnung ein- oder ausschalten.
Um die Prozessabrechnung zu aktivieren, führen Sie Folgendes aus:
$ accton on
Führen Sie zum Deaktivieren Folgendes aus:
$ Konto aus
Weitere Einzelheiten finden Sie in den Manpages.
$ man accton
dump-acct und dump-utmp
Der dump-acct Dienstprogramm zeigt die Ausgabedatei vom Accton-Format in einem für Menschen lesbaren Format an.
$ dump-acct /var/account/pacct
dump-utmp zeigt utmp-Dateien in menschenlesbarem Format an.
$ dump-utmp /var/run/utmp
Weitere Einzelheiten finden Sie in den Manpages.
$ man dump-acct
$ man dump-utmp
sa
Das Dienstprogramm sa fasst die Informationen über zuvor ausgeführte Befehle zusammen.
$sa
Beispielausgabe:
318 951.07RE 0.01CP 0AVIO 15299K 4 33,04RE 0.01CP 0AVIO 26352K SSHD 7 2.05RE 0,00CP 0AVIO 25184K SSHD* 2 0,01RE 0,00CP 0AVIO 89856K DNF 35 0,00 CRO 0.00CP 0,00CP 0AVIO 2967K MANN* 29 0.00 0,00RE 0,00CP 0.00CP 0AVIO 2967K MANN* 29 0.00 0,00RE 0,00CP 0.00CP 0.00CP 0AVIO 2967K MANN* 29 0.00 0,00RE 0,00CP 0.00CP 0.00CP 0AVIO 2967K MANN* 29 0.00 0,00RE. 7377k bash * 12 0.00re 0.00cp 0avio 6259k unix_chkpwd 12 0.00re 0.00cp 0avio 2674k systemd-cgroups 10 0.00re 0.00cp 0avio 2260k grep 9 166.31re 0.00cp 0avio 25375k *** andere * 9 110.33re 0.00cp 0avio 0k kworker / 0:2 * 9 110.33re 0.00cp 0avio 0k kworker / 0:0 * 9 0.00re 0.00cp 0avio 3830k ID 8 0.00re 0.00cp 0avio 1080k ac 8 0.00re 0.00cp 0avio 26976k Loggers 8 0.00re 0.00cp 0avio 26976k Basisnamen 6 93.90re 0.00cp 0avio 29712k Mann 6 0.00re 0.00cp 0avio 1629k klar 5 119.94re 0.00cp 0avio 0k kworker/0:2H* 5 93.90re 0.00cp 0avio 27568k weniger
Um die Anzahl der Prozesse und die Anzahl der CPU-Minuten pro Benutzer auszugeben, führen Sie einfach Folgendes aus:
$ sa -m
Beispielausgabe:
337 961.10RE 0.01CP 0AVIO 15593KROOT 286 857.82RE 0.01CP 0AVIO 16672KSK 45 3,88RE 0.00CP 0AVIO 7992KSSHD 5 0.34RE 0.00CP 0AVIO 20966KPOSTFIX 1 99.06RE 0,00CP 0AVIO 2272KPOSTFIX 1 99.06RE 0.00CP 0AVIO 22272KPOSTFIX 1 99.06RE 0,00CP 0AVIO 22272KPOSTFIX 1 99.06RE 0.00CP 0AVIO 22272KPOSTFEWeitere Einzelheiten finden Sie in den Manpages.
$ man saEmpfohlene Lektüre:
- Einschränken des Benutzerzugriffs auf das Linux-System
Und das ist alles. Jeder Linux-Administrator sollte sich der GNU-Buchhaltungsprogramme bewusst sein, um alle Benutzer im Auge zu behalten. Diese Dienstprogramme sind bei der Fehlersuche hilfreich.