GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Benutzerstatus- und Aktivitätsüberwachung in Linux mit GNU-Konto

Es gibt viele Überwachungs-Apps für Server, und sie haben viel getan, um die Einführung von Linux bei Systemadministratoren zu unterstützen, die nicht an das Terminal gewöhnt sind oder einen echten Bedarf an grafischen Darstellungen von Daten haben. Linux war jedoch von Anfang an ein Mehrbenutzersystem und UNIX schon lange davor. Daher gibt es integrierte Tools, die 40 Jahre zurückreichen, um Ihnen zu helfen, zu überwachen, wer sich bei Ihrem Server angemeldet hat, wer Ressourcen verwendet und wofür.

Sie müssen nicht paranoid oder gar neugierig sein, um zu rechtfertigen, dass Sie einen Server, für den Sie verantwortlich sind, genau beobachten. Das psacct-Paket enthält mehrere Befehle zum Sammeln detaillierter Berichte über Benutzerstatus und -aktivität.

Aktion

Nicht alle Befehle im acct Dienstprogramme erfordern, dass Sie die Buchhaltung aktivieren, aber viele tun dies. Wenn Sie beabsichtigen, acct zu verwenden Befehle, sollten Sie die Abrechnung mit dem accton aktivieren Befehl.

Zum Aktivieren:

$ sudo accton on

Standardmäßig werden Abrechnungsdatensätze in /var/account/pacct gespeichert . Diese Datei könnte ziemlich groß werden, also verwenden Sie logrotate oder ein ähnliches Tool, um eine ordnungsgemäße Protokollverwaltung sicherzustellen.

So deaktivieren Sie die Abrechnung:

$ sudo accton off

ac

Der ac Befehl gibt Statistiken über Verbindungszeiten aus. Wenn Sie sich einen Überblick darüber verschaffen möchten, wie aktiv Benutzer auf einem System waren, können Sie die --individual-totals Option bietet dies. Es generiert seinen Bericht in Stunden basierend auf Anmeldungen und Abmeldungen, die in /var/log/wtmp aufgezeichnet sind Datei.

Die Abrechnungsdatei wtmp wird von init(8) gepflegt und login(1) aber weder ac oder login erstellt die Datei tatsächlich. Wenn wtmp existiert nicht, dann wird kein Bericht generiert, aber Sie können auf ac zeigen an einen alternativen Speicherort mithilfe der --file Möglichkeit. Wenn ein wtmp Datei auf Ihrem System nicht existiert, können Sie eine leere wtmp erstellen Datei, um Berichte auf Ihrem System zu aktivieren.

So erhalten Sie einen Bericht über Anmeldezeiten für einzelne Benutzer:

$ ac --individual-totals
seth     20.16
larry    43.60
curly    10.32
moe      35.11

Sie können auch Tagessummen abrufen:

$ ac --daily-totals
Jan 20  total       22.61
Jan 21  total       73.60
Jan 22  total       84.00
Jan 23  total       100.69
Jan 24  total       18.24
Jan 25  total        2.43
Jan 27  total       35.36
Today   total       62.13

lastcomm

Die lastcomm command zeigt die letzten Befehle an auf dem System für einen bestimmten Benutzer ausgegeben. Wenn kein Benutzer angegeben ist, wird ein Bericht über den aktuellen Benutzer generiert.

$ sudo lastcomm --strict-match --user curly --tty pts/2
basename               curly   pts/2      0.00 secs Tue Jan 28 15:41
ps                     curly   pts/2      0.00 secs Tue Jan 28 15:41
bash              F    curly   pts/2      0.00 secs Tue Jan 28 15:41
manpath                curly   pts/2      0.00 secs Tue Jan 28 15:41
bash              F    curly   pts/2      0.00 secs Tue Jan 28 15:41
tclsh                  curly   pts/2      0.00 secs Tue Jan 28 15:41
bash              F    curly   pts/2      0.00 secs Tue Jan 28 15:41
bash              F    curly   pts/2      0.00 secs Tue Jan 28 15:41
sed                    curly   pts/2      0.00 secs Tue Jan 28 15:41

Die von lastcomm aufgelisteten Befehle sind nicht unbedingt Befehle, die ein Benutzer interaktiv gestartet hat. Wenn sich ein Benutzer beispielsweise einfach anmeldet, erzeugt er fast 40 Elemente in der Ausgabe von lastcomm , also kann es überwältigend sein. Gekoppelt mit grep , es ist jedoch eine einfache Möglichkeit, sich einen Eindruck vom Sitzungsverlauf eines Benutzers zu verschaffen.

sa

Die sa Der Befehl fasst Abrechnungsinformationen zusammen, die aus /var/account/pacct abgeleitet wurden Datei. Wenn Sie die Aktivitäten von Benutzern prüfen, dann --print-users Option gibt den Benutzernamen vor jedem Befehl aus:

$ sudo sa --print-users
root    0.00 cpu      579k mem      0 io accton
root    0.03 cpu    64064k mem      0 io sudo 
seth    0.00 cpu    56752k mem      0 io bash         *
seth    0.00 cpu    54080k mem      0 io sed 
seth    0.00 cpu    56752k mem      0 io bash         *
larry   0.00 cpu    56752k mem      0 io bash         *
curly   0.00 cpu    56752k mem      0 io bash         *
moe     0.00 cpu    56752k mem      0 io bash         *
seth    0.00 cpu    54080k mem      0 io ls 

Alternativ können Sie auch nur eine Zusammenfassung für jeden Benutzer erhalten:

$ sudo sa --user-summary
                                     1065    2169.59re       0.97cp         0avio     49373k
seth                                  812    1117.11re       0.83cp         0avio     58163k
root                                  199    1052.42re       0.14cp         0avio     21314k
larry                                  41       0.00re       0.00cp         0avio     19403k
curly                                   1       0.06re       0.00cp         0avio      6706k
moe                                    12       0.00re       0.00cp         0avio     25888k
[...]

Die angezeigten Spalten geben zusätzlich zu den Benutzernamen Auskunft über CPU (Echtzeit und CPU-Zeit), E/A-Operationen pro Befehl (Durchschnitt und Gesamt) und so weiter. Sie können mit Optionen wie --sort-tio konfiguriert werden für t Gesamt I/O , --sort-cpu-avmem um die CPU-Zeit nach durchschnittlicher Speicherauslastung zu sortieren und so weiter. Alle Sortierfilter können mit --reverse-sort umgekehrt werden Option.

Benutzerprofilerstellung

In Kombination mit Tools wie who, w und ps können Sie sich ein Bild davon machen, wie Benutzer Systemressourcen ausgeben, welche Befehle möglicherweise problematisch sind und welche Server-Upgrades in Zukunft nützlich sein könnten. Denn der acct suite ist terminalbasiert, sie kann skriptgesteuert und von anderen Tools verwendet werden, sodass Sie einen benutzerdefinierten Berichtsmechanismus erstellen können.

[ Möchten Sie Red Hat Enterprise Linux ausprobieren? Laden Sie es jetzt kostenlos herunter. ]


Linux
  1. Partitionieren Sie ein Laufwerk unter Linux mit GNU Parted

  2. Rechnen Sie in der Linux-Shell mit GNU bc

  3. Lernen Sie den Unterschied zwischen den Befehlen „su“ und „su -“ in Linux kennen

  4. Eine Einführung in die Überwachung von Linux-Benutzerkonten

  5. Installieren Sie WordPress unter Linux mit Apache

Anpassen meines Linux-Terminals mit tmux und Git

Verwalten von Prozessen unter Linux mit kill und killall

Überwachung von Linux- und Windows-Hosts mit Glances

Erste Schritte mit GIT unter Linux

Überwachen Sie die Benutzeraktivität mit dem acct-Tool unter Ubuntu 20.04

Überwachung der Bandbreite unter Linux mit Nethogs