Wie kann ich in CentOS 7 alle Systemprotokolle finden und anzeigen, aus denen hervorgeht, wer versucht hat, in das System einzutreten, wer eingestiegen ist, welche Prozesse sie kontaktiert haben, was sie erreicht haben usw. Ich möchte in der Lage sein, jede Aktivität mit beiden zu verknüpfen eine Benutzer-ID oder eine Remote-IP-Adresse.
Mein var/log/
Verzeichnis enthält zahlreiche Ressourcen, einschließlich /var/log/messages
und /var/log/secure
, aber die meisten Dateien sind vom Typ Binary (application/octet-stream)
und das Betriebssystem kann sie nur öffnen, wenn ich ihnen ein unbekanntes Anzeigeprogramm zuordne. Auch var/log/firewalld
scheint keine nützlichen Informationen zu enthalten.
Ich kann alle von meiner App, meiner Datenbank und NginX / Apache erstellten Protokolle finden.
/var/log
und alle von ihnen sind Binärdateien? Bist du sicher? Wie prüfst du?/var/log/firewalld
handelt es sich um eine Textdatei, die scheinbar nutzlose Informationen enthält. Ich überprüfe, indem ich auf die Dateien in der GUI klicke. Klicken Sie zuerst mit der linken Maustaste, um zu versuchen, zu öffnen, und klicken Sie dann mit der rechten Maustaste, um Eigenschaften anzuzeigen, um den Dateityp zu überprüfen.Antworten:
Das (Befehlszeilen-) Dienstprogramm, das Sie verwenden sollten, ist
journalctl
. ZB um die dmesg Ausgabe zu betrachten:oder analysierbare Einträge in Bezug auf die Firewall:
Verwenden Sie für eine Liste der auswählbaren EINHEITEN die üblichen Werkzeuge:
man journalctl
Weitere Optionen zum Einschränken und Festlegen der Ausgabe finden Sie auf Ihrem System.quelle
journalcdt --dmesg
scheint niemanden spezifischer zu identifizieren alslocalhost.localdoman
undjournalctl --firewalld
produziertunrecognized option
. Ihr Vorschlag beantwortet meine Frage also noch nicht wirklich.journalctl --output=json-pretty UNIT=firewalld.service
gibt Ihnen json Ausgabe.journalctl --output=json-pretty | grep -f UNIT | sort -u
gibtgrep: UNIT: No such file or directory
journalctl --output=json-pretty UNIT=firewalld.service
nur, wenn ich als root angemeldet bin, aber nicht, wenn ich versuche, das Terminal als normalen Benutzer zu verwenden. Daher kann ich diesen Code noch nicht programmgesteuert verwenden. Wenn ich irgendwie automatisch einen neuen Satz von Protokolldateien für jede auswählbare Einheit generieren könnte, ohne mein Root-Passwort in einer hackbaren Datei belassen zu müssen, wäre diese Frage beantwortet.grep
Argumente enthielten einen Tippfehler (ich habe die-F
Option nicht ausgeschnitten und eingefügt und in Kleinbuchstaben geschrieben ).