Das Verzeichnis /var/log ist die Sammelstelle der Protokoll- und Log-Dateien, die den Administrator über jeden Schritt der Benutzer unterrichten.
Das Log-Buch
So verrät die Datei /var/log/messages auf die Sekunde genau, welcher User sich mit dem Befehl su einen Zugang als root erschleichen, oder mit dem Programm sudo eine Anwendung starten wollte, zu der er nicht berechtigt war:
root:~ # less /var/log/messages Aug 15 20:25:05 comone su: FAILED SU (to root) tux on /dev/pts/1 Aug 15 20:26:11 comone sudo: tux : 3 incorrect password attempts ; TTY=pts/1 ; PWD=/home/tux ; USER=root ; COMMAND=/usr/sbin/fetchnews -vvv
Freilich entdecken Sie in diesem Verzeichnis noch weitere Einträge. In der Datei /var/log/mail finden Sie die Meldungen Ihres Mail-Systems, und die Datei warn zeigt Ihnen, bei einigen Distributionen, die Lock-Files und fehlerhaften Prozesse. Hier treffen Sie auch unseren User tux wieder, beim vergeblichen Versuch, sudo zu starten.
Aber woher kommen diese Log-Dateien und wer schreibt Sie? Das Log-Buch erstellt der Daemon syslogd für Sie. Er lauscht im Hintergrund auf die Meldungen der verschiedenen Prozesse, die in Ihrem System arbeiten, und schreibt sie in Logfiles oder auf den Bildschirm einiger ausgewählter Benutzer.
Statten wir dem Daemon syslogd einen kurzen Besuch ab und schauen, wie er konfiguriert wird.
Der Autor des Log-Buchs: syslogd
Der Ort, an dem Sie syslogd konfigurieren, ist die Datei /etc/syslogd.conf. Eine Zeile in der Konfigurationsdatei setzt sich aus verschiedenen Parametern zusammen, die in den Manual-Seiten von syslogd facility, priority und action genannt werden. Jede dieser Zeilen folgt dem Muster:
facility.priority action
Durch diese Einstellungen liest syslogd, aus welcher Ecke Ihres Rechner eine Meldung kommt (facility), wie die Dringlichkeit dieser Nachricht zu bewerten ist (priority) und wohin die Ausgabe notiert wird (action). Damit wir an dieser Stelle nicht im Abstrakten verharren, sehen wir uns eine Zeile aus der Datei /etc/syslogd.conf an:
kern.warning;*.err;authpriv.none /dev/tty10
Alle Nachrichten, mit dem Kernel als Absender und einer Dringlichkeit von warning oder höher, schreibt syslogd nun in die Gerätedatei /dev/tty10, die Sie auf der Textkonsole mit [Alt]+[F10] einsehen können. Dort landen auch alle Meldungen der Dringlichkeit err (für error) oder höher, außer den Sicherheits- und Autorisations-Meldungen (authpriv.none).
Verschiedene facility.priority-Kombinationen dürfen durchaus in einer Zeile stehen, wenn Sie sie, wie in unserem Beispiel, durch das Semikolon vorneinander trennen. Auch dem Einsatz des Asterisk * als Joker steht nichts im Wege, gleichgültig in welchem Parameter Sie das Freizeichen einsetzen:
*.* -/var/log/allmsg
Diese Zeile veranlasst syslogd, alle Meldungen mit jeder Dringlichkeit in die Datei /var/log/allmsg zu schreiben. Das Minuszeichen vor dem Pfad des Logfiles schaltet die Synchronisation des Dateisystems ab, die nach jedem Eintrag des syslogd startet. Die Synchronisation ist ein wichtiger Teil des Sicherheitskonzeptes, damit selbst nach einem Systemabsturz die Log-Dateien auf dem Stand vor der Katastrophe sind. Sie sollten die Option mit Bedacht und nur bei Dateien mit geringer Priorität anwenden.
Damit syslogd den Benutzern am Rechner sofort alle systembedrohlichen Nachrichten auf die Bildschirme wirft, setzen Sie das Jokerzeichen * ebenfalls für den Parameter action ein:
*.=alert *
In unserem neuen Eintrag ist das Gleichheitszeichen = als weitere Möglichkeit aufgetaucht. Mit dieser Option leitet syslogd ausschließlich Meldungen der Dringlichkeitsstufe alert weiter. Ohne den Einsatz des Gleichheitszeichens würde die Regel für Meldungen der Ebene alert und darüber gelten. Natürlich richtet syslogd auch an bestimmte Benutzer eine Nachricht aus:
mail.* root,mailmaster
Alle Meldungen, die von Mail-System herrühren, leitet syslogd an den Administrator root und den User mailmaster weiter. Die Meldungen müssen jedoch nicht innerhalb eines Rechners bleiben. In einem Netzwerk senden die syslogd-Daemonen der einzelnen Plätze ihre Nachrichten auch an den syslogd eines anderen Rechners, wenn Sie den Rechnernamen definieren:
*.=warning;*.=err @numberone
Mit dieser Konfiguration schickt der syslogd des lokalen Rechners alle Nachrichten der genannten Dringlichkeitsstufen an den syslogd des Rechners numberone.
Wie staffeln sich die Prioritäten der Meldungen, und wie sehen die Stichworte der facility-Parameter aus, an denen syslogd die Herkunft der Nachrichten ausmacht? Die Tabelle 1 liefert Ihnen eine Übersicht der Dringlichkeitsstufen in fallender Wichtigkeit, und Tabelle 2 listet die Schlüsselwörter der Herkunft auf.
Weitere Beispiele zur Konfiguration gelangen durch den Befehl man syslog.conf zur Ausgabe im xterm oder der Textkonsole und können dort von Ihnen eingesehen werden.
Tabelle 1: Dringlichkeit der Meldungen
| emerg | Die letzte Meldung, denn Ihr System ist hinüber |
| alert | Ihr Eingreifen ist dringend erforderlich |
| crit | Eine kritische Nachricht |
| err | Fehlermeldungen aus dem Systembetrieb |
| warning | Warnungungen aus dem Systembetrieb |
| notice | Bedeutsamere Meldungen aus dem normalen Systembetrieb |
| info | Protokolle des normalen Systembetriebs |
| debug | Debuginformationen bei einer Fehlersuche |
| none | Schließt den vorangehenden facility-Parameter von der Regel aus |
Tabelle 2: Herkunft der Meldungen
| auth | Nachrichten der Sicherheit und Autorisation |
| authpriv | Vertrauliche Sicherheitsmeldungen |
| cron | Meldungen der Daemonen cron und at |
| daemon | Nachrichten anderer System-Daemonen |
| kern | Systemnachrichten vom Kernel |
| local0-local7 | reserviert zur lokalen Verwendung |
| lpr | Nachrichten vom Drucker-System |
| Meldungen vom Mail-System | |
| news | Mitteilungen vom News-System |
| syslog | Interne, von syslogd erzeugte Nachrichten |
| user | Meldungen der Anwenderprogramme |
| uucp | Nachrichten vom UUCP-System |



