Copyright © 1995 by O'Reilly/International Thomson Verlag

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches "Linux - Wegweiser zur Installation & Konfiguration", dann klicken Sie hier.


Kapitel 4

Die Logdateien des Systems verwalten

Das Utility syslogd schreibt verschiedene Systemaktivitäten mit, so z.B. die Debugging-Meldungen von sendmail und Warnungen des Kernels. syslogd läuft als Dämon und wird in der Regel beim Booten aus einer der rc -Dateien gestartet.

Die Datei /etc/syslog.conf wird benutzt, um festzulegen, wo syslogd Informationen ablegt. Diese Datei könnte folgendermaßen aussehen:

*.=info;*.=notice    /var/adm/messages
mail.debug         /var/adm/maillog
*.=warn             /var/adm/syslog
kern.emerg         /dev/console

Das erste Feld jeder Zeile bestimmt, welche Meldungen protokolliert werden sollen und das zweite Feld gibt an, wohin die Meldungen geschrieben werden. Das erste Feld hat das Format:

ursprung.level [; ursprung.level ... ]

Dabei bezeichnet der Ursprung das Systemprogramm oder die Komponente des Systems, die die Meldung verursacht, und der Level gibt an, wie schwerwiegend die Meldung ist.

Der Ursprung kann z.B. mail sein (für den Mail-Dämon), kern (für den Kernel), user (für Benutzerprogramme) oder auth (für Programme, die den Zugang zum System kontrollieren wie etwa login oder su ). Ein Stern in diesem Feld steht für Meldungen aus allen Quellen.

Als Level können Sie folgendes angeben (mit zunehmender Wichtigkeit): debug, info, notice, warning, err, \crit, alert oder emerg.

*.info

bedeutet: Level info und höher. Ein exakter Match wird als

*.=info

angegeben. In der oben gezeigten Datei /etc/syslog.conf ehen wir, daß alle Meldungen der Grade info und notice in die Datei /var/adm/messages geschrieben werden, debug-Meldungen (und Meldungen höherer Stufe) des Mail-Dämons gehen nach /var/adm/maillog , und alle Meldungen der Stufe warn werden in /var /adm/syslog protokolliert. Außerdem werden die emerg-Warnungen des Kernels an die Konsole geschickt (das ist die gerade aktive virtuelle Konsole oder ein xterm -Fenster, das mit der Option -C gestartet wurde).

Die von syslogd protokollierten Meldungen enthalten in der Regel das Datum, einen Hinweis auf den Prozeß oder die Komponente, die die Meldung verursacht hat, sowie die Meldung selbst -- alles in einer Zeile. Eine Nachricht des Kernels, die auf Probleme mit Daten in einem ext2fs -Dateisystem hinweist, könnte so in der Logdatei erscheinen:

Dec  1 21:03:35 loomer kernel: EXT2-fs error (device 3/2):
  ext2_check_blocks_bit map: Wrong free blocks count in super block,
  stored = 27202, counted = 27853

Ein erfolgreich ausgeführtes su könnte folgendermaßen registriert werden:

Dec 11 15:31:51 loomer su: mdw on /dev/ttyp3

Die Logdateien sind äußerst wichtig beim Aufspüren von Problemen im System. Eine zu groß gewordene Logdatei können Sie mit rm entfernen; sie wird beim nächsten Neustart von syslogd erneut angelegt.

Wahrscheinlich enthält Ihr System bereits einen syslogd und die Datei /etc/syslog.conf in einer brauchbaren Konfiguration. Trotzdem ist es wichtig, daß Sie wissen, wo Ihre Logdateien stehen und welche Programme damit verbunden sind. Falls Sie weitere Meldungen protokollieren lassen möchten (z.B. Debugging-Nachrichten des Kernels, die sehr umfangreich sein können), sollten Sie die Datei syslog.conf editieren und dann den syslogd anweisen, seine Konfigurationsdatei erneut zu lesen. Geben Sie dazu ein:

kill -HUP `cat /etc/syslog.pid`

Beachten Sie die rückwärts gewandten Anführungen, mit denen die Prozeß-ID von syslogd aus /etc/syslog.pid extrahiert wird.

Eventuell sind auf Ihrem System weitere Logdateien vorhanden. Darunter könnten folgende sein:

/var/adm/wtmp
Diese Datei enthält binäre Daten, in denen die Login-Zeiten und -Dauer aller Systembenutzer registriert sind; der Befehl last erstellt daraus eine Liste der Logins. Diese Liste könnte z.B. so aussehen:
mdw      tty3                  Sun Dec 11 15:25   still logged in
mdw      tty3                  Sun Dec 11 15:24 - 15:25  (00:00)
mdw      tty1                  Sun Dec 11 11:46   still logged in
reboot   ~                     Sun Dec 11 06:46

In der Datei /var/adm/wtmp wird auch vermerkt, wann das System neu gestartet wurde.

/etc/utmp
Dies ist eine weitere binäre Datei, die Informationen zu den derzeit eingeloggten Benutzern enthält. Die Befehle who , w und finger erstellen daraus Login-Informationen. Der Befehl w könnte z.B. folgendes ausgeben:
  3:58pm  up  4:12,  5 users,  load average: 0.01, 0.02, 0.00
User     tty       login@  idle   JCPU   PCPU  what
mdw      ttyp3    11:46am    14                -
mdw      ttyp2    11:46am            1         w
mdw      ttyp4    11:46am                      kermit
mdw      ttyp0    11:46am    14                bash

Wir sehen die Login-Zeiten aller Benutzer (in diesem Fall ein Benutzer, der mehrfach eingeloggt ist) sowie den gerade ausgeführten Befehl. In der Man-Page zu w finden Sie eine Beschreibung aller Felder.

/var/adm/lastlog
Diese Datei hat dasselbe Format wie wtmp , registriert aber frühere Logins und nicht nur die aktuellen. Die Datei hat eine ähnliche Funktion wie wtmp , wird aber von anderen Programmen benutzt (z.B. finger, wenn es feststellt, wann ein Benutzer zuletzt eingeloggt war).

Beachten Sie, daß die Dateien wtmp und utmp auf verschiedenen Systemen unterschiedliche Formate haben können. Manche Programme sind so kompiliert, daß sie das eine Format, und andere so, daß sie das andere Format erwarten. Deshalb kann es passieren, daß die Befehle, die auf diese Dateien zugreifen, verwirrende oder unrichtige Informationen ausgeben -- dies gilt besonders dann, wenn die Dateien von einem Programm geschrieben werden, das ein falsches Format benutzt.


Inhaltsverzeichnis Vorherige Abschnitt Nächste Abschnitt