Wie finde ich heraus, welcher Benutzer mein Programm beendet hat?

Wie finde ich heraus, welcher Benutzer mein Programm beendet hat?

Ich führe ein Programm mit langer Laufzeit auf einem Linux-Server aus. Viele andere Benutzer führen ihre Programme ebenfalls auf diesem Server aus. Wir alle haben Sudo-Berechtigungen.

Angenommen, ein böswilliger Benutzer beendet mein laufendes Programm, beispielsweise mit sudo killoder sudo pkill. Wie finde ich heraus, welcher Benutzer das ist?

Antwort1

Obwohl Pauls Antwort richtig ist, dass Beweise beseitigt werden könnten, bedeutet das nicht, dass die Beweise beseitigt sind. Es wissen viel mehr Leute über sudo Bescheid als Leute, die wissen, welche Protokolle gelöscht werden müssen (wenn sie sich überhaupt die Mühe machen würden).

Auf meinem System wird jedes Mal, wenn sudo verwendet wird, die gesamte Befehlszeile in einem Protokoll gespeichert. Ich kann mir vorstellen, dass Ihr System das auch tut. Unter OpenBSD ist dies /var/log/authlog, während es auf einem Debian-System /var/log/auth.log ist.

Wenn Sie nicht wissen, in welcher Datei diese Informationen gespeichert sind, versuchen Sie, einen sudo-Befehl auszuführen. (Es spielt keine Rolle, was Sie mit sudo tun: sogar echowürde ausreichen. Der Zweck besteht darin, die Protokolle zu ändern, die geändert werden, wenn sudo verwendet wird.) Verwenden Sie dann

ls -ltr /var/log/*auth*

oder

ls -ltr /var/log | tail

um kürzlich geänderte Dateien zu finden.

Antwort2

Wenn Sie alle über verfügen sudo, gibt es keine garantierte Möglichkeit, Beweise für einen beendeten Prozess aufzubewahren, da alle Beweise mit der gleichen Berechtigungsstufe entfernt werden könnten.

Du kannst den ... benutzenauditd Überwachungs-Daemonum bestimmte Systemaufrufe wie Kill zu verfolgen.

Natürlich könnte ein Root-Benutzer zuerst den Audit-Daemon stoppen und dann die Protokolle löschen. Sie möchten die Protokolle also extern exportieren.

Ein besserer Ansatz wäre, sudo besser zu verwalten und jedem Benutzer nur den Zugriff zu gewähren, den er benötigt. Normale Benutzer benötigen fast nie vollen Root-Zugriff und Sie können sudo verwenden, um eine Teilmenge der Berechtigungen zu erteilen.

verwandte Informationen