Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Postfix-Lookup-Tabellen (Index-Dateien)

&pagelevel(4)&pagelevel

Postfix verwendet eine Reihe von Lookup-Tabellen für die effiziente Suche nach Informationen zu Adressen-Ersetzung, Zugriffskontrolle u.a.. Bei einer Lookup-Tabelle für die Adressen-Ersetzung beispielsweise stellt die alte Adresse den Suchbegriff dar, während die neue Adresse dem Suchbegriff als Suchergebnis zugeordnet ist. In einer Lookup-Tabelle zur Zugriffskontrolle können z.B. alle lokalen Mail-Empfänger verzeichnet sein, die Postfix akzeptiert. Hier ist es für Postfix lediglich wichtig zu wissen, ob der Suchbegriff existiert. Das Suchergebnis als solches ist ohne Bedeutung.

Die über die Lookup-Tabellen zur Verfügung gestellten Informationen werden vom Administrator des Postfix Mail-Servers zunächst in gewöhnlichen Textdateien erfasst. Für einen performanten Zugriff auf diese Informationen verwendet Postfix jedoch nicht die vom Administrator erstellten Textdateien (Quelldateien), sondern so genannte Index-Dateien (indizierte Dateien), die der Administrator mithilfe der Programme postmap (siehe "postmap - Index-Dateien erzeugen und bearbeiten (Postfix-Format)") oder postalias (siehe "postalias - Index-Dateien erzeugen und bearbeiten (Alias-Format)") aus den Quelldateien generiert.

postalias unterscheidet sich von postmap durch das für postalias-Quelldateien (Alias-Dateien) geforderte Format, das wegen der Kompatibilität zum Sendmail-Server geringfügig vom Quelldatei-Format der anderen Postfix-Quelldateien für Lookup-Tabellen abweicht (siehe "Postfix-Lookup-Tabellen (Index-Dateien)").


Zwei verschiedene Typen von Index-Dateien

Die BS2000-Portierung von Postfix unterstützt zwei verschiedene Typen von Index-Dateien:

  • hash-Dateien: Die Suche basiert hier auf Hash-Tabellen und -Algorithmen.

  • btree-Dateien: Die Suche basiert hier auf Balanced-Tree (B-Tree)-Strukturen und -Algorithmen.

Im Standardfall empfiehlt sich die Verwendung des hash-Formats. Der Einsatz von btree-Dateien kann sinnvoll sein, wenn bei sehr großen Lookup-Tabellen im hash-Format Performance-Probleme auftreten.
Die bei Postfix grundsätzlich mögliche Ablage von Lookup-Tabellen in externen Datenbanken oder Verzeichnissen wie NIS, MySQL oder LDAP wird von der BS2000-Portierung derzeit nicht unterstützt.


Allgemeines Postfix-Format für postmap-Quelldateien

Ein Eintrag (logische Zeile) in einer postmap-Quelldatei hat die folgende Syntax:

Schlüssel Leerraum Wert

Schlüssel

Suchbegriff

Leerraum

Leerraum besteht aus einer Folge von Leerzeichen und/oder Tabulatorzeichen. Leerraum muss mindestens ein Leerzeichen oder Tabulatorzeichen enthalten.

Wert

Information, die dem Suchbegriff zugeordnet ist.

Darüber hinaus gelten für den Aufbau einer logischen Zeile die folgenden Regeln:

  • Eine logische Zeile kann sich über mehrere Text-Zeilen erstrecken.

  • Eine logische Zeile beginnt mit einem vom Leerraum verschiedenen Text.

  • Eine Zeile, die mit einem Leerraum beginnt, setzt eine logische Zeile fort.

  • Leerzeilen und Zeilen, die - eventuell nach einem Leerraum - mit „#“ beginnen, werden von postmap ignoriert.


Format für postalias-Quelldateien (Alias-Dateien)

Mithilfe von Alias-Namen lässt sich der Benutzeranteil einer lokalen Empfängeradresse durch eine oder mehrere Empfängeradressen ersetzen.

Als Empfängeradressen können Sie angeben:

  • lokale Adressen

  • ferne Adressen

  • Programme, an die Nachrichten übergeben werden

  • Dateien, in die Nachrichten gesichert werden.

Die Alias-Namen werden durch Einträge in eine Alias-Datei definiert. Der Standard-Dateiname der Alias-Datei lautet /etc/postfix/aliases.

Ein Alias-Eintrag (Alias-Definition) hat die folgende Syntax:

Name: Wert1, Wert2, Wert3, ..., Wert n

Name

Benutzeranteil einer lokalen Empfängeradresse. Enthält der Benutzeranteil einer lokalen Empfängeradresse Sonderzeichen wie „@“ oder Leerzeichen, so muss er in doppelte Hochkommata ("") eingeschlossen werden. Der Wert des Benutzeranteils einer lokalen Empfängeradresse wird stets in Kleinbuchstaben abgespeichert.


Die Alias-Datei muss immer die Einträge für die lokalen Namen „postmaster“ und „MAILER-DAEMON“ enthalten (Anforderung des RFC 822).


Wert1, Wert2, Wert3, ..., Wertn

Eine oder mehrere Empfängeradressen.

Als Wert i, i = 1 ... n, kann angegeben werden:

  • lokaler Name (z.B. sysroot)

  • ferne Adresse (z.B. user@domain.com)

  • /Datei

    In diesem Fall wird die Nachricht standardmäßig an das Ende der Datei Datei angehängt. Mithilfe des Parameters allow_mail_to_ files in der Postfix-Konfigurationsdatei main.cf können Sie dieses Verhalten unterdrücken.

  • |Programm

    In diesem Fall wird die Nachricht standardmäßig über eine Pipe an einen Programmaufruf Programm übergeben. Mithilfe des Parameters allow_mail_to_commands in der Datei main.cf können Sie dieses Verhalten unterdrücken. Enthält der Programmaufruf Sonderzeichen (insbesondere Leerzeichen), dann müssen Sie den Programmaufruf in doppelte Hochkommata ("") setzen.

  • :include: Datei

    Datei ist eine Textdatei, mit der Sie z.B. Mailing-Listen definieren können. Die Mails werden an die in diesen Mailing-Listen verzeichneten Empfänger gesendet. Leerzeilen sowie Zeilen, die mit „#“ beginnen, werden ignoriert. Alle anderen Zeilen von Datei haben die gleiche Syntax wie die rechten Seiten von Alias-Einträgen, d.h. Wert 1, Wert 2, ..., Wert n .

    Bei :include: Datei werden Einträge für das Anhängen an Dateien (| Datei) sowie die Übergabe an Programmaufrufe über eine Pipe (|Programm) werden standardmäßig ignoriert. Mithilfe der main.cf-Parameter allow_mail_to_ files und allow_mail_to_commands können Sie das standardmäßige Anhängen an Dateien bzw. die standardmäßige Übergabe an Programmaufrufe aktivieren.

  • owner -aliasname: owner_mail_adresse

    Mit diesem Eintrag definieren Sie für die Mailing-Liste aliasname einen Eigentümer bzw. Verwalter, der die Mail-Adresse owner_mail_adresse besitzt. Im Fehlerfall (unzustellbare Mail) wird dann eine Benachrichtigung an owner_mail_adresse gesendet und nicht an den Mail-Absender, da der Eigentümer/Verwalter der Mailing-Liste in der Regel besser auf Zustellprobleme reagieren kann als der Mail-Absender.

    Wenn z.B. eine Mailing-Liste mit Namen „dbadmin“ definiert ist, definiert der folgende Eintrag die Mail-Adresse (hier: „owner-mail-adresse“) des Eigentümers der Mailing-Liste:

    owner-dbadmin: owner-mail-adresse

Steht nach Abschluss der Alias-Umsetzung fest, dass die Nachricht einem lokalen Benutzer zugestellt werden soll, dann prüft Postfix, ob das Home-Verzeichnis dieses Benutzers eine Datei .forward enthält. Trifft dies zu, dann wird eine weitere Stufe der Alias-Umsetzung durchgeführt, in der die .forward-Datei nach denselben Regeln interpretiert wird wie eine Alias-Datei.


Beispiel

Nachfolgend ist ein Beispiel für eine Alias-Datei abgedruckt.

# Alias-Datei
# Fehlermeldungen an postmaster weiterleiten und an die 
# Logging-Datei /var/adm/mailerr anhängen
MAILER-DAEMON:   postmaster, /var/adm/mailerr
# Postmaster auf Systemverwalter-Kennung weiterleiten
postmaster:      sysroot
# An Systemverwalter adressierte Nachrichten an 
# reale Person weiterleiten
sysroot:         mueller
# Programm fuer automatische Mail-Beantwortung
auto-test:       |"/home/rwk/auto-test -i 3"
# Mailing-Liste
dbadmin:         :include:/home/admin/db-admins
owner-dbadmin:   postmaster

Fehler, wie z.B. nicht zustellbare Mails an dbadmin, werden durch dieses owner-dbadmin-Alias nicht an den ursprünglichen Absender der Mail gesendet, sondern an postmaster.

Inhalt von /home/admin/db-admins:

amueller@firma.example
bmeier@firma.example
dhuber@firma.example
/home/admin/db-admins.maillog