Home       Servicebereich  Projekte  Kontakt  


Bei einer einfachen Installation von Postfix aus den Paketen einer Linux-Distribution oder den BSD Ports braucht der Systemadministrator die master.cf in der Regel nicht zu verändern. Er sollte aber grundsätzlich verstehen was in dieser Datei eingestellt werden kann.

Aufbau der Datei master.cf

Das Postfix Paket selbst bringt ausführlich kommentierte Konfigurationsdateien mit. Der grüßte Teil der master.cf besteht aus Erläuterungen. Die Konfiguration erfolgt zeilenweise in einer Tabellenähnlichen Datenstruktur. Jede Zeile definiert hier eine Komponente des Postfixsystems, die vom Masterprozess gestartet werden kann. Die einzelnen Spalten steuern wie und wann der zentrale Daemon die jeweiligen Prozesse startet oder stoppt.

Eine Konfigurationszeile der Konfigurationsdatei beginnt immer in der ersten Spalte. Nach einem Zeilenumbruch wird sie nach einem Whitespace fortgesetzt. Es werden also keine \ benötigt um Zeilenumbrüche zu maskieren.

Bedeutung der einzelnen "Spalten"

Jede Konfigurationszeile ist in maximal 8 Spalten unterteilt. Die Spalten werden durch Whitespaces voneinander getrennt. In jeder Zeile haben die einzelnen Spalten dieselbe Bedeutung für die jeweilige Teilkomponente. Einige der Spalten sind mit einem Defaultwert vorbelegt. Wenn in dieser Spalte ein "-" eingetragen wird kommt der Defaultwert zum tragen.

  1. service
  2. Hier wird der Service-Typ eingetragen, der zur folgenden Typ-Spalte passen muß. Jeder Bezeichner in dieser Spalte muss eindeutig sein.

    Services, die in der zweiten Spalte als inet definiert werden, müssen auf eine Portnummer aufgelöst werden können. Das heisst, das dem hier eingetragenen Service in der Datei /etc/services eine Portnummer zugeordnet sein muss. Alternativ zum Eintrag in /etc/services kann auch direkt eine Portnummer angegeben werden. Der Portnummer oder dem Dienstbezeichner kann noch ein Hostname oder eine IP-Adresse vorangestellt werden. Der Master Daemon bindet sich dann nur an das konfigurierte Interface. Ein Eintrag hier kann also im Format [host|ip:]<service|port> (z.B: localhost:smtp) eingetragen werden

    Ein hier angegebener Bezeichner für einen Service kann in einem transport adressiert werden. Dieses ist z.B. die empfohlene Vorgehensweise um die E-Mail an Cyrus Mailboxen auszuliefern.

  3. type
  4. Dieses Feld bietet die Möglichkeit den Typ des in Spalte 1 definierten Services festzulegen. Mögliche Typen sind inet für Internet Sockets, unix für Unix-Domain Sockets und fifo für Named Pipes.

    Falls eine E-Mail an ein Programm übergeben werden soll, wird in der master.cf ein Service des Typs unix eingestellt. In der "command" Spalte wird das Kommando pipe eingestellt, das eine E-Mail an ein externes Programm übergibt.

  5. private (Default ja)
  6. Ein als privat gekennzeichneter Dienst darf nur vom Postfix-Mailsystem selbst angesprochen werden. Dieses ist auch die Defaulteinstellung. Dienste die als Internet Sockets definiert sind müssen als öffentlich ("n") deklariert werden.

  7. unpriv (Default ja)
  8. Der Parameter unpriv legt fest, ob der Dienst mit mit der Userid eines unprivilegierten Accounts gestartet werden soll oder als root. Die Benutzer ID des unprivilegierten Accounts wird in main.cf mit dem Parameter mail_owner bestimmt. Wenn der Dienst mit den Rechten von root gestartet werden soll, wird hier ein "n" eingetragen.

  9. chroot
  10. Mit chroot wird bestimmt, ob der Prozess in einer chroot Umgebung laufen soll. Die Basis dieser Umgebung ist das Verzeichnis in dem die Mail Queues von Postfix installiert sind. Dieses Verzeichnis wird mit Hilfe des Parameters queue_directory in der main.cf bestimmt. Alle Prozesse mit Ausnahme der als PIPE definierten und den Daemons die die virtuelle oder lokale Auslieferung von E-Mail übernehmen, können chroot gestartet werden.

  11. wakeup
  12. Hier wird eingestellt, ob der in der "command" Spalte eingestellte Prozess in regelmässigen Abständen Aktionen durchführen soll, wie z.B. das Leeren die Queue.

  13. maxproc
  14. Die maximale Anzahl Prozesse, die von diesem Service gestartet werden können.

  15. command
  16. Das zu startende Kommando. Der Pfad ist relativ zum Postfix Kommandoverzeichnis (kann mit dem Parameter program_directory in main.cf eingestellt werden).

  17. args
  18. Die Argumente, die dem Kommando der Spalte "command" übergeben werden. Für die von Postfix selbst bereitgestellten Kommandos kann hier mit Hilfe eines oder mehreren -v Schaltern ein umfangreicheres Logging eingestellt werden.

    Das Pipe Kommando bietet die umfangreichste Liste von möglichen Argumenten. Die Bedeutung der einzelnen Parameter ist in der Manpage pipe(8) dokumentiert.


< zurück  | weiter >