• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Mail-Logdateien fehlen

daddy.k

Member
Hallo,

ich versuche gerade auf einem LEAP 42.2 Rechner Postfix und Cyrus einzurichten und scheitere heute schon an der Installation (Konfiguration).
Nach der Installation mit YAST fehlen mir die Log-Dateien in "/var/log".
Im syslog (journalctl -f) werden weder von Postfix noch von Cyrus Fehlermeldungen angezeigt, als ob es so sein müßte.

Leider habe ich bisher keine Hilfen gefunden, wie ich die Dateien "mail, mail.warn und mail.err" nachinstallieren kann!
Kann einfach die Dateien von Hand (mkdir mail) usw. anlegen, welche Rechte bekommen die Dateien (evtl. "root:root" oder "postfix:maildrop")?
Wie überrede ich Postfix da etwas reinzuschreiben?

Habe leider kein alten Mailserver mehr zum nachschauen.

Vielen Dank im Vorraus
Gruß daddy.k
 
Alle Programme, die irgendwas mit mails zu tun haben (postfix,fetchmail,dovecot,...) schreiben ihre logs nicht in files, sondern über einen Kanal mit dem Namen "mail" zur Systemlog Einrichtung. (Log facility). Dort sitzt dein system logger (syslogd,klogd,..). und lauscht am Kanal "mail". Alles was da ankommt, schreibt er nach /var/log/mail_je_nach_config. Schreibt dieser syslog nicht in files, dann ist er wohl nicht so konfiguriert, dass er am Kanal mail mithört. Ich weiß ja nicht welchen syslog du verwendest, jeder hat seine eigene Konfigurationsumgebung. Das kann sein
/etc/syslog.conf
/etc/ksyslog.conf
/etc/metalog.conf
und was es da sonst noch gibt.
In einem dieser files steckt das Problem. Wahrscheinlich ist der Kanal mail.* dort # kommentiert,

Gruß
Gräfin Klara
 
OP
D

daddy.k

Member
Hallo Gräfin Klara;

danke für deine schnelle Antwort.
Von drei aufgezählte Dateien gibt es auf diesem "werdenden"-Mailserver unter SUSE Leap 42.2 keine.
Zumindest nicht unter "/etc".
Der einige Eintrag der noch auf "ls *log*" fällt war logrotate.
In "/etc/logrotate.d" gibt es einen Eintrag für "fetchmail", postfix oder cryrus ... Fehlanzeige.
Ich bin mir aber nicht sicher mit "logrotate" den richtigen Dienst gefunden zu haben. Ich meine er überwacht nur das Alter, Größe und weitere Parameter, benennt dann z.B. eine Log-Datei um und legt eine neue leer Datei für die neuen Einträge an.

Postfix und Cyrus zu deinstallieren und nach einem Reboot wieder zu installieren brachte mich auch nicht weiter. War mal ein Versuch aus der Windows - Welt. ;)

Gruß daddy.k
 

marce

Guru
Üblich wäre heute /etc/rsyslog.conf bzw. /etc/rsyslog.d/ - ggf. musst Du aber auch mal in der systemd-Konfig schauen, welcher Logger denn wo wie gestartet und ggf. verwendet wird - und wo dieser dann seine Konfig-Dateien herholt.
 
daddy.k schrieb:
Von drei aufgezählte Dateien gibt es auf diesem "werdenden"-Mailserver unter SUSE Leap 42.2 keine.
Zumindest nicht unter "/etc".
Der einige Eintrag der noch auf "ls *log*" fällt war logrotate.

Ich traue dir zu, dass du /etc richtig durchsucht hast.
logrotate > Ist NICHT der syslog. Deine Erklärung dazu ist völlig richtig.

Bei mir sieht es folgend aus:
Code:
# ps aux | grep log
root      3406  0.0  0.0   2760  1788 ?        Ss   11:19   0:00 metalog [MASTER]
root      3407  0.0  0.0   2760   100 ?        S    11:19   0:00 metalog [KERNEL]
...
Wie du siehst, verwende ich metalog als syslog. (Geschmacksache)

Sieht so aus, als ob du gar keinen system logger installiert hast.
 

marce

Guru
Für den Start der Dienste ist aber nun mal bei 42.2 AFAIK SystemD zuständig. Und darüber wird vermutlich dann auch der Syslog gestartet und ggf. der verwendete Logger für dem Mail-Dienst konfiguriert.
 
OP
D

daddy.k

Member
Hallo Gräfin Klara,
hallo marce,

ersteinmal Danke das ihr Euch meinem Problem annehmt.

Ich hoffe nicht, dass sich Grafin Klara's schlimmste Befürchtung hiermit bestädigt hat und "systemd" der Log-Dienst ist.
Code:
server-gate:/etc/systemd/system/multi-user.target.wants # ps ax | grep log
  430 ?        S<     0:00 [xfs-log/md1]
  923 ?        S<     0:00 [xfs-log/sda1]
  963 ?        S<     0:00 [xfs-log/md2]
  984 ?        S<     0:00 [xfs-log/md3]
 1208 ?        Ss     0:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground
 1245 ?        Ss     0:05 /usr/lib/systemd/systemd-logind
 5201 ?        S<l    0:00 /usr/bin/pulseaudio --start --log-target=syslog
 5255 ?        Ss     0:00 /usr/sbin/wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -u -f /var/log/wpa_supplicant.log
21098 pts/0    S+     0:00 grep --color=auto log
server-gate:/etc/systemd/system/multi-user.target.wants #

Bin gerade "systemd" nachgegangen, habe in "/etc/systemd/system/multi-user.target.wants" einen Eintrag "postfix.services" gefunden,
der startet aber nur Postfix und seine Dienste.

" 1208 ? Ss 0:00 /usr/sbin/mcelog --ignorenodev --daemon --foreground" ist für mich auch eine Sackgasse.
mcelog.services:
Code:
[Unit]
Description=Machine Check Exception Logging Daemon
ConditionVirtualization=false

[Service]
EnvironmentFile=-/etc/sysconfig/mcelog
ExecStart=/usr/sbin/mcelog --ignorenodev --daemon --foreground
StandardOutput=syslog

[Install]
WantedBy=multi-user.target
mcelog.service lines 1-11/11 (END)

/etc/sysconfig/mcelog
Code:
## Path:        Hardware/machine_check
## Description: email address machine check exceptions are sent to
## Type:        string
## Default:     ""
#
# Machine check exceptions like memory (correctable or uncorrectable
# ECC errors), processor or other HW are sent with a detailed description
# to this address. Also read README.email_setup for further details.
#
MCELOG_ADMIN_EMAIL=""
mcelog lines 1-10/10 (END)

Habe die Konfig-Datei von "mcelog" nach "mail / postfix" durchsucht. Fehlanzeige.

Hier nochmal alle Ergebnisse von "ls *log*" im "/etc"-Verzeichniss:
Code:
server-gate:/etc # ls *log*
csh.login  dialogrc  hushlogins  login.defs  logrotate.conf

logrotate.d:
apache2  fetchmail    mysql-community-server  pbl    samba-winbind      squid       wpa_supplicant  zypp-history.lr
dirmngr  iscsiuiolog  net-snmp                rsync  snapper            squidGuard  wtmp            zypp-refresh.lr
dracut   mcelog       ntp                     samba  speech-dispatcher  vsftpd      xdm             zypper.lr

mcelog:
bus-error-trigger    dimm-error-trigger   mcelog.conf         socket-memory-error-trigger
cache-error-trigger  iomca-error-trigger  page-error-trigger  unknown-error-trigger
server-gate:/etc #

Danke
daddy.k
 
>> ... "systemd" der Log-Dienst ist.
systemd ist kein Log-Dienst. Siehe dazu https://de.wikipedia.org/wiki/Systemd
Solltest du mit deinem mailserver an das öffentliche Netz gehen, damit meine ich einen existierenden MX Eintrag in einem öffentlichen DNS,
dann ist systemd die falsche Wahl !

mcelog:
Ist ein Hardware logger und kein syslog.

Dein
# ps ax | grep log
zeigt keinen laufenden syslog. Du hast offensichtlich keinen syslog installiert.
 

josef-wien

Ultimate Guru
Gräfin Klara schrieb:
systemd ist kein Log-Dienst
Selbstverständlich übernimmt systemd mit seinem Monopolanspruch auch diese Aufgabe. Ein "herkömmlicher" syslog daemon kann zwar zusätzlich installiert werden, aber er bekommt seine Daten von systemd (sofern es so konfiguriert ist, diese Daten weiterzuleiten).



daddy.k schrieb:
Im syslog (journalctl -f) werden weder von Postfix noch von Cyrus Fehlermeldungen angezeigt
Ich habe zwar diesbezüglich keine Ahnung, aber ich werfe die Frage auf, ob vielleicht irgendetwas verkonfiguriert ist?
 
josef-wien schrieb:
Gräfin Klara schrieb:
systemd ist kein Log-Dienst
Selbstverständlich übernimmt systemd mit seinem Monopolanspruch auch diese Aufgabe. Ein "herkömmlicher" syslog daemon kann zwar zusätzlich installiert werden, aber er bekommt seine Daten von systemd (sofern es so konfiguriert ist, diese Daten weiterzuleiten).

Für mich war systemd bisher immer ein Service Manager - bestenfalls.
Danke für die Aufklärung.
 
OP
D

daddy.k

Member
Hallo,

ich möchte mich bei euch bedanken für die Hilfen und Ratschläge.

Dieser Rechner hätte wirklich als privater Mailserver die Mails aller Familienangehörigen nach aussen leiten sollen und umgekehrt.
Er wir zur Zeit nur vorübergehend als Ersatz für meinen richtigen Server benutzt. Und ist in einer Woche wieder platt.
Die Installation ist eine Standartinstallation von Suse Leap 42.2.

Durch diese Diskusion habe ich einiges über den Log-Service gelernt!

Wie Gräfin Klara richtig beschrieben hat ist "systemd" nicht direckt der Logging-Dienst. Hier kommt jetzt der Dienst "journald" von systemd zum Einsatz.
Hier hab ich eine Beschreibung von journald gefunden: https://www.freedesktop.org/software/systemd/man/systemd-journald.service.html
man systemd-journald.service
Code:
DESCRIPTION
       systemd-journald is a system service that collects and stores logging data. It creates and maintains structured,
       indexed journals based on logging information that is received from a variety of sources:

Ich bleibe Suse treu und habe jetzt beim Neuaufsetzen meines Server mit Leap 42.3 gleich mal darauf geachtet, das ich "rsyslog" installiere.
Jetzt sind auch die gesuchten Log-Datein für den Mailserver wieder da.

Vielen für Eure Hilfe, jetzt kann wieder alles seinen gewohnten Gang gehn.

daddy.k

P.S.: Sollten irgendwo Buchstaben im Wort fehlen, die ich beim korrigieren übersehen habe, liegt das an meiner heißgeleibten Tastatur die gerade das Zeitliche segnet. :(
 
Oben