Logdateien

Aus Ubuntu-Forum Wiki

Version vom 29. Januar 2013, 12:53 Uhr von Nocheiner (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
Idee.png Begriffserklärung Idee.png
Edit l.png Dieser Artikel enthält Lücken und ist nicht vollständig. Edit.png
Wenn Du Dich mit dem Thema auskennst, hilf mit und vervollständige ihn.

Inhaltsverzeichnis


1 Allgemeines

Irgendwann erleidet beinahe jedes System einen Systemfehler, sei er durch unsachgemäße Benutzung von Befehlen oder auch durch fehlerhafte Software hervorgerufen. In so einem Fall sind die Logdateien zumeist die erste Anlaufstelle um das Problem zu lokalisieren und so zu lösen, doch der Umgang mit diesen Dateien sollte geübt sein!

Die bis zu mehrere Megabyte großen Logdateien des Ubuntu-Systems sammeln sich in dem Verzeichnis: /var/log an. Bei diesen Logdateien handelt es sich um Textdateien die mit einem normalen Editor aufrufbar sind.

2 Umgang mit Logdateien

In diesem Abschnitt werden einige nützliche Befehle im Umgang mit Logdateien genannt und erläutert. Um den Inhalt einer Logdatei in der Konsole anzuzeigen benutzen wir den cat-Befehl:

cat datei

Da der Log aber sehr lang sein kann und es durch die Ausgabe von allen Zeilen der Datei, schnell unübersichtlich werden kann, kann auch der tail-Befehl, welcher uns nur die letzten x Zeilen ausgibt benutzt werden:

tail -n50 datei

Mit diesem Befehl werden die letzten 50 Zeilen der angegebenen Datei in der Konsole ausgegeben.

Mit dem Argument -f aktualisiert tail übrigens automatisch seine Ausgaben


Doch auch das manuelle Abarbeiten von rund 50 Zeilen für die Problemanalyse ist sehr aufwendig. Zum Glück gibt uns Linux auch eine Möglichkeit eine Datei nach bestimmten Begriffen zu durchsuchen und die entsprechenden Zeilen auszugeben. Dies geschieht mit einer Pipeline, in der grep die Ausgabe von cat verarbeitet:

cat datei | grep "kernel"

So werden alle Zeilen, die das Wort "kernel" in der Logdatei besitzen, auf dem Standartausgabekanal ausgegeben. Wenn wir nun wissen wollen, was es vom 2 bis zum 5 Januar an Meldungen zu dem Kernel gegeben hat, können wir das auch über eine einzige Pipeline realisieren:

cat messages | grep "Aug 16.*kernel"
und etwas übersichtlicher:
cat messages | grep “kernel” | grep “Aug 16”


Dies funktioniert jedoch nur bei Logdateien die den selben Aufbau wie die Logdatei messages hat.

Um mehrere Logdateien gleichzeitig im Auge zu behalten gibt es das Programm multitail, welches es ermöglicht mehrere Dateiinhalte in einem Terminalfenster anzuzeigen. Der folgende Befehl stellt zwei Logdateien nebeneinander in einem Terminal da:

multitail -s 2 logdatei1.log logdatei2.log

3 Logdateien

In diesem Abschnitt werden wichtige Logdateien des Ubuntu-Systems vorgestellt.

3.1 /var/log/acpid

3.2 /var/log/auth.log

auth.log protokolliert alle Anmeldeversuche am System mit. Auch Zugriffe über ssh, su und sudo werden aufgezeichnet.

Um zu sehen welche Benutzer zurzeit am System angemeldet sind kann das Kommando: who verwendet werden

Einen Angriff am System kann man in der Logdatei oder auch am fehlen der auth.log erkennen, da sich die Angreifer im Regelfall nicht die Mühe machen Logdateien zu manipulieren. Jedes mal wenn der Rechner heruntergefahren wird, wird auch die auth.log geleert.

Bei unbefugten Eindringlingen ist es sehr wahrscheinlich, dass die auth.log vom Angreifer manipuliert wurde, um so dessen Aktionen zu verschleiern!

Beispielinhalt:

Aug 13 19:07:17 ubuntu-test su[7388]: pam_unix(su:auth): authentication failure; 
logname=karl uid=1000 euid=0 tty=pts/0 ruser=karl rhost= user=root Aug 13 19:07:19 ubuntu-test su[7388]: pam_authenticate: Fehler bei Authentifizierung Aug 13 19:07:19 ubuntu-test su[7388]: FAILED su for root by karl Aug 13 19:07:19 ubuntu-test su[7388]: - pts/0 karl:root Aug 13 19:07:22 ubuntu-test su[7393]: Successful su for root by karl Aug 13 19:07:22 ubuntu-test su[7393]: + pts/0 karl:root Aug 13 19:07:22 ubuntu-test su[7393]: pam_unix(su:session): session opened for user root by karl(uid=1000)

Diesen Meldungen können wir entnehmen, dass der Benutzer: karl auf dem Computer ubuntu-test, sich als Superuser anmelden wollte. Der erste Versuch gelang durch fehlerhafte Anmeldedaten nicht. Bei dem zweiten Versuch erlangte der Benutzer karl, jedoch erfolgreich die Superuser-Rechte.

3.3 /var/log/messages

Die wichtigste Logdatei von Linux ist die Datei: messages, welche sich in dem Verzeichnis: "/var/log" befindet. Die Datei ist das System-Logbuch von Linux, fast alle Ereignisse werden hier mitprotokolliert. Bei einem unerwarteten Fehler, sollte diese Logdatei der erste Anlaufpunkt sein.

In dieser Logdatei ist jeder Eintrag mit einem Datum und der jeweiligen Uhrzeit versehen, danach folgt der Name des Rechners sowie der Name der Anwendung. Erst zum Schluss folgt die eigentliche Meldung des Logs.

Beispielinhalt:

Aug 16 15:01:25 ubuntu-test kernel: [   48.240774] NET: Registered protocol family 10
Aug 16 15:01:25 ubuntu-test kernel: [   48.241498] lo: Disabled Privacy Extensions
Aug 16 15:01:59 ubuntu-test kernel: [   81.519343] UDF-fs: No VRS found
Aug 16 15:21:08 ubuntu-test -- MARK --

Der -- MARK -- Eintrag erscheint dabei unter Ubuntu standartmäßig alle 20 Minuten, da er als Zeitmarke fungiert und uns mitteilt, dass der Protokollschreiber (syslogd) ordnungsgemäß funktioniert.

3.4 /var/log/Xorg.0.log

Die Xorg.0.log ist eine anwendungsspezifische Logdatei der grafischen Oberfläche X11. Sie protokolliert Informationen des X-Servers. Bei plötzlichen Abstürzen der grafischen Oberfläche oder Verschlechterung der Bildqualität, sollte hier hinein geschaut werden.

Beispielinhalt:

(II) intel(0): EDID vendor "QDS", prod id 76
(II) intel(0): Printing DDC gathered Modelines:
(II) intel(0): Modeline "1280x800"x0.0   71.15  1280 1328 1360 1440  800 802 808 823 -hsync -vsync (49.4 kHz)
(II) intel(0): EDID vendor "QDS", prod id 76

3.5 /var/log/dmesg

Diese Logdatei protokolliert Meldungen des Kernels während des Bootvorgangs. Nach jedem neuen Bootvorgang, wird diese Datei neu beschrieben.

Der Inhalt von /var/log/dmesg kann auch über das Kommando: dmesg in der Konsole abgerufen werden.

Beispielinhalt:

[   61.325884] CPU0 attaching NULL sched-domain.
[   61.325892] CPU1 attaching NULL sched-domain.
[   61.339790] CPU0 attaching sched-domain:
[   61.339796]  domain 0: span 03
[   61.339798]   groups: 01 02
[   61.339802] CPU1 attaching sched-domain:
[   61.339803]  domain 0: span 03
[   61.339805]   groups: 02 01
[   65.401368] EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Forum
Navigation
Internes
Bearbeitungshilfen
Werkzeuge