LPIC102/108.3 Grundlagen von Mailtransfer Agents MTAs: Unterschied zwischen den Versionen
George (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
K Textersetzung - „ “ durch „ “ |
||
(74 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== | ==108.3 Grundlagen von Mail Transfer Agents (MTAs)== | ||
'''Wichtung: 3''' | '''Wichtung: 3''' | ||
Zeile 11: | Zeile 11: | ||
#Kenntnis von allgemein verfügbaren MTA-Programmen ''(Postfix, Sendmail, Exim)(keine Konfiguration)'' | #Kenntnis von allgemein verfügbaren MTA-Programmen ''(Postfix, Sendmail, Exim)(keine Konfiguration)'' | ||
== | ==Liste wichtiger Dateien, Verzeichnisse und Anwendungen:== | ||
#''~/.forward'' | #''~/.forward'' | ||
#Kommandos der ''Sendmail''-Emulationsschicht | #Kommandos der ''Sendmail''-Emulationsschicht | ||
Zeile 21: | Zeile 21: | ||
#''Exim'' | #''Exim'' | ||
== | ==MUA, MDA und MTA== | ||
#'''MUA'''– der ''Mail User Agent'' ist ein Mail-Client-Programm, mit dem Mails geschrieben, gelesen und versendet werden (z. B. | #'''MUA'''– der ''Mail User Agent'' ist ein Mail-Client-Programm, mit dem Mails geschrieben, gelesen und versendet werden (z. B. ''kmail, Evolution, Thunderbird, Outlook'' usw.). | ||
#'''MDA''' – der ''Mail Delivery Agent'' verarbeitet E-Mails auf einem Server.''(MDAs'' sind z. B. ''procmail, maildrop, cyrus)'' | #'''MDA''' – der ''Mail Delivery Agent'' verarbeitet E-Mails auf einem Server.''(MDAs'' sind z. B. ''procmail, maildrop, cyrus)'' | ||
#'''MTA''' – der ''Mail Transfer Agent'' nimmt die E-Mail vom Client entgegen. Er ist für die Zustellung einer Nachricht an den richtigen Zielserver | #'''MTA''' – der ''Mail Transfer Agent'' nimmt die E-Mail vom Client entgegen. Er ist für die Zustellung einer Nachricht an den richtigen Zielserver verantworrtlich. | ||
MTAs sind z. B. ''Sendmail, Postfix, Exim''. | MTAs sind z. B. ''Sendmail, Postfix, Exim''. | ||
Für die endgültige Auslieferung einer Mail-Nachricht an ein Client-Programm benötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wie | Für die endgültige Auslieferung einer Mail-Nachricht an ein Client-Programm benötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wie ''IMAP'' oder ''POP''. | ||
== | ==Mail-Aliase== | ||
'''Die Datei''' '''/etc/aliases''' | '''Die Datei''' '''/etc/aliases''' | ||
Zeile 43: | Zeile 43: | ||
#''freunde: :include:/home/harald/meinefreunde'' | #''freunde: :include:/home/harald/meinefreunde'' | ||
Der voranstehende Eintrag macht tatsächlich das, wonach er aussieht: Wenn eine Mail an Freunde gesendet wird, wird diese Nachricht an alle Mail-Adressen versendet, die in der Textdatei | Der voranstehende Eintrag macht tatsächlich das, wonach er aussieht: Wenn eine Mail an Freunde gesendet wird, wird diese Nachricht an alle Mail-Adressen versendet, die in der Textdatei | ||
''/home/harald/meinefreunde'' zeilensepariert aufgeführt sind. | |||
Die letzte, nicht selten genutzte Möglichkeit ist die Übergabe einer Nachricht an | Die letzte, nicht selten genutzte Möglichkeit ist die Übergabe einer Nachricht an ein Programm. Mit dieser Methode arbeitet etwa das Mailinglistenprogramm ''Major-domo'': | ||
#''majordomo: "|/usr/lib/majordomo/wrapper majordomo"'' | #''majordomo: "|/usr/lib/majordomo/wrapper majordomo"'' | ||
Der Unterschied zur Umleitung in eine Datei ist das führende Pipe-Zeichen. | Der Unterschied zur Umleitung in eine Datei ist das führende Pipe-Zeichen. | ||
==newaliases== | |||
==''' | Nach dem Anlegen eines neuen Alias in der Datei | ||
#''/etc/aliases'' | |||
müssen Sie den Befehl ''newaliases'' eingeben, damit ''Sendmail'' den neuen Alias auch verwendet. | |||
==Weiterleitung von Mail== | |||
Benutzer können für sich selbst eine Mail Weiterleitung einrichten. | |||
Dazu wird die Datei ''.forward'' im Heimverzeichnis erstellt die die Weiterleitungsadresse in einer einzelnen Zeile enthält. | |||
==Wichtige Dateien und Verzeichnisse== | |||
#''/var/spool/mail'' | |||
in diesem Verzeichnis liegen Dateien mit den Namen der Benutzerkonten, die auf diesem System Mails | |||
empfangen. Der MDA liefert hier Nachrichten für die lokalen Benutzer aus. | |||
#''/var/spool/mqueue'' | |||
Ist die Mail-Queue oder auch Warteschlange. Hier holt der MDA Nachrichten ab und entscheidet dann, ob sie lokal ausgeliefert werdenoder an den MTA zur weiteren Verarbeitung übergeben werden müssen. | |||
#''/var/spool/postfix'' | |||
Hier liegt die Datenverzeichnisstruktur von Postfix. | |||
#''/var/mail'' ist ein typischer Link auf '' var/spool/mail''. | |||
#''/etc/postfix'' beherbergt die Konfigurationsdateien von ''Postfix''. | |||
#''/etc/mail'' enthält die meisten Konfigurationsdateien für ''Sendmail''. | |||
Um den Inhalt einer Mail-Queue im laufenden Betrieb sehen zu können, verwendenSie das Programm ''mailq'' | |||
ohne Parameter: | |||
''/var/spool/mqueue # mailq | |||
/var/spool/mqueue (2 requests) | |||
--Q-ID---- --Size-- --Q-Time---- ----Sender/Recipient- | |||
l9HH2A016576* 816 Wed Oct 17 19:02 <root@archangel.homelinux.net> | |||
<dominik@archangel.homelinux.net> | |||
l929jC016576* 931 Wed Oct 17 19:02 <root@archangel.homelinux.net> | |||
<dominik@archangel.homelinux.net> | |||
Total requests: 2'' | |||
==Sendmail-Konfigurationsdateien== | |||
Die Hauptkonfigurationsdatei von ''Sendmail'' ist die Datei ''sendmail.cf''. | |||
Die Datei ''sendmail.cf'' selbst finden Sie z. B. bei SuSE direkt unter ''/etc'', während sie bei Fedora unter ''/etc/mail'' residiert. | |||
Die Datei ''sendmail.cf'' könnte man durchaus als kompliziertes Konstrukt bezeichnen. Deshalb wird sie auch | |||
normalerweise nicht von Hand erstellt. Stattdessen schreibt man M4-Makros, die dann durch einen M4-Präprozessor verarbeitet werden. | |||
==Postfix-Konfigurationsdateien== | |||
Der MTA Postfix wird mit Konfigurationsdateien konfiguriert, die sich im Verzeichnis ''/etc/postfix'' | |||
befinden. Die Datei ''main.cf'' ist die globale Konfigurationsdatei für ''Postfix''. | |||
Pfadangaben sind hier in der Regel voreingestellt. | |||
Es sollte festgelegt werden, unter welchem Namen der Computer aus der Sicht des Internets angesprochen | |||
wird und für welche Domänen er verantwortlich ist: | |||
''myhostname = echtername.meinedomain.com'' | |||
''myhostname = virtuellername.meinedomain.com'' | |||
''mydomain = meinedomain.com'' | |||
==Smarthost und SMTP-Relay== | |||
Ein ''Smarthost'' ist ein Mailserver, der als ''SMTP-Relay'' fungiert. | |||
Normalerweise werden Sie Ihre zu versendenden Mails nicht direkt zustellen, sondern durch den ''SMTP-Server'' Ihres Internet Service Providers ausliefern lassen. | |||
==Smarthost mit Sendmail== | |||
Wenn Sie einen externen Smarthost für Sendmail angeben wollen, ist das eine der wenigen Situationen, in denen Sie die ''sendmail.cf'' bearbeiten müssen. Suchen Sie nach einem ''DS'' am Zeilenanfang (möglicherweise auskommentiert), und schreiben Sie dahinter lückenlos den ''FQDN'' des ''Relayservers''. | |||
''# "Smart" relay host (may be null) | |||
DSmailrelay.myisp.org''. | |||
So sieht der Eintrag also aus, wenn der Server ''mailrelay.myisp.org'' heißt. | |||
Soll Ihr Server selbst als SMTP-Relay fungieren, dann müssen Sie die Dateien ''/etc/mail/access'' | |||
und ''/etc/mail/relay-domains'' modifizieren und anschließend in ebendiesem Verzeichnis einmal das Kommando ''make'' ausführen, um die korrespondierenden ''db-Files'' zu generieren. | |||
==Smarthost mit Postfix== | |||
Sollten Sie ''Postfix'' als MTA verwenden, muss der ''Smarthost'' entsprechend in der Datei | |||
''/etc/postfix/main.cf'' eingetragen werden. Dieser Eintrag sieht wie folgt aus: | |||
''relayhost = mail.myisp.org'' | |||
Um ''Postfix'' selbst als Relay einzusetzen, einfach mit der Angabe der eigenen Netzwerke für bestimmte | |||
Subnetze Relaying zuzulassen: | |||
''mynetworks = 127.0.0.0/8 192.168.50.0/24 172.16.0.0/28'' | |||
Wesentlich sicherer ist es natürlich, eine Authentifizierung des Benutzers zu verlangen. | |||
Als Mechanismus kommt hier am ehesten ''SASL'' ( ''Simple Authentication and Security Layer'' ) in Frage. | |||
Sollte ein authentifizierter Benutzer eine Mail mit gefälschtem Absender verschicken, ist dieser | |||
Vorgang zumindest in den Protokollen ( ''/var/log/mail'' ) nachvollziehbar. | |||
==Exim und qmail== | |||
Weitere MTAs sind ''Exim'' und ''qmail''. | |||
''Exim'' ist weitgehend ähnlich zu konfigurieren wie ''Sendmail'', die Konfiguration ist aber etwas einfacher. | |||
==Quellenangaben== | |||
#Lpic1-v500 | |||
Fragen: 67 - 70, 76 | |||
[[Kategorie:Linux/LPIC/102]] | |||
[[Kategorie:E-Mail/Server]] |
Aktuelle Version vom 28. Mai 2023, 10:16 Uhr
108.3 Grundlagen von Mail Transfer Agents (MTAs)
Wichtung: 3
Gebräuchliche MTA-Programme und einfache Weiterleitungs- und Alias-Konfigurationen auf einem Client- Rechner einstellen.
Wichtigste Wissensgebiete:
- Mail-Aliase erstellen
- Mail-Weiterleitung für die endgültige Auslieferung einer Mail-Nachricht an ein Client-Programm benötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wie IMAP oder POP .
- Kenntnis von allgemein verfügbaren MTA-Programmen (Postfix, Sendmail, Exim)(keine Konfiguration)
Liste wichtiger Dateien, Verzeichnisse und Anwendungen:
- ~/.forward
- Kommandos der Sendmail-Emulationsschicht
- newaliases
- mailq
- Postfix
- Sendmail
- Exim
MUA, MDA und MTA
- MUA– der Mail User Agent ist ein Mail-Client-Programm, mit dem Mails geschrieben, gelesen und versendet werden (z. B. kmail, Evolution, Thunderbird, Outlook usw.).
- MDA – der Mail Delivery Agent verarbeitet E-Mails auf einem Server.(MDAs sind z. B. procmail, maildrop, cyrus)
- MTA – der Mail Transfer Agent nimmt die E-Mail vom Client entgegen. Er ist für die Zustellung einer Nachricht an den richtigen Zielserver verantworrtlich.
MTAs sind z. B. Sendmail, Postfix, Exim. Für die endgültige Auslieferung einer Mail-Nachricht an ein Client-Programm benötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wie IMAP oder POP.
Mail-Aliase
Die Datei /etc/aliases
In der Datei /etc/aliases können Sie Mail-Nachrichten umleiten. Hierbei sind vier verschiedene Verfahren möglich. Das gängigste ist dieses:
- willi: wilhelm
- root: wilhelm
Mit dem ersten Eintrag werden Mails, die an willi adressiert sind, dem real existierenden Benutzerkonto wilhelm zugeordnet. Eine andere Methode ist die Zuweisung eines Alias zu einer Datei.
- taetigkeiten: "/home/harald/taetigkeitsbericht"
Für dieses Konto muss kein reales Benutzerkonto auf dem Server existieren.
- freunde: :include:/home/harald/meinefreunde
Der voranstehende Eintrag macht tatsächlich das, wonach er aussieht: Wenn eine Mail an Freunde gesendet wird, wird diese Nachricht an alle Mail-Adressen versendet, die in der Textdatei /home/harald/meinefreunde zeilensepariert aufgeführt sind. Die letzte, nicht selten genutzte Möglichkeit ist die Übergabe einer Nachricht an ein Programm. Mit dieser Methode arbeitet etwa das Mailinglistenprogramm Major-domo:
- majordomo: "|/usr/lib/majordomo/wrapper majordomo"
Der Unterschied zur Umleitung in eine Datei ist das führende Pipe-Zeichen.
newaliases
Nach dem Anlegen eines neuen Alias in der Datei
- /etc/aliases
müssen Sie den Befehl newaliases eingeben, damit Sendmail den neuen Alias auch verwendet.
Weiterleitung von Mail
Benutzer können für sich selbst eine Mail Weiterleitung einrichten. Dazu wird die Datei .forward im Heimverzeichnis erstellt die die Weiterleitungsadresse in einer einzelnen Zeile enthält.
Wichtige Dateien und Verzeichnisse
- /var/spool/mail
in diesem Verzeichnis liegen Dateien mit den Namen der Benutzerkonten, die auf diesem System Mails empfangen. Der MDA liefert hier Nachrichten für die lokalen Benutzer aus.
- /var/spool/mqueue
Ist die Mail-Queue oder auch Warteschlange. Hier holt der MDA Nachrichten ab und entscheidet dann, ob sie lokal ausgeliefert werdenoder an den MTA zur weiteren Verarbeitung übergeben werden müssen.
- /var/spool/postfix
Hier liegt die Datenverzeichnisstruktur von Postfix.
- /var/mail ist ein typischer Link auf var/spool/mail.
- /etc/postfix beherbergt die Konfigurationsdateien von Postfix.
- /etc/mail enthält die meisten Konfigurationsdateien für Sendmail.
Um den Inhalt einer Mail-Queue im laufenden Betrieb sehen zu können, verwendenSie das Programm mailq ohne Parameter:
/var/spool/mqueue # mailq /var/spool/mqueue (2 requests) --Q-ID---- --Size-- --Q-Time---- ----Sender/Recipient- l9HH2A016576* 816 Wed Oct 17 19:02 <root@archangel.homelinux.net> <dominik@archangel.homelinux.net> l929jC016576* 931 Wed Oct 17 19:02 <root@archangel.homelinux.net> <dominik@archangel.homelinux.net> Total requests: 2
Sendmail-Konfigurationsdateien
Die Hauptkonfigurationsdatei von Sendmail ist die Datei sendmail.cf. Die Datei sendmail.cf selbst finden Sie z. B. bei SuSE direkt unter /etc, während sie bei Fedora unter /etc/mail residiert. Die Datei sendmail.cf könnte man durchaus als kompliziertes Konstrukt bezeichnen. Deshalb wird sie auch normalerweise nicht von Hand erstellt. Stattdessen schreibt man M4-Makros, die dann durch einen M4-Präprozessor verarbeitet werden.
Postfix-Konfigurationsdateien
Der MTA Postfix wird mit Konfigurationsdateien konfiguriert, die sich im Verzeichnis /etc/postfix befinden. Die Datei main.cf ist die globale Konfigurationsdatei für Postfix. Pfadangaben sind hier in der Regel voreingestellt. Es sollte festgelegt werden, unter welchem Namen der Computer aus der Sicht des Internets angesprochen wird und für welche Domänen er verantwortlich ist:
myhostname = echtername.meinedomain.com myhostname = virtuellername.meinedomain.com mydomain = meinedomain.com
Smarthost und SMTP-Relay
Ein Smarthost ist ein Mailserver, der als SMTP-Relay fungiert. Normalerweise werden Sie Ihre zu versendenden Mails nicht direkt zustellen, sondern durch den SMTP-Server Ihres Internet Service Providers ausliefern lassen.
Smarthost mit Sendmail
Wenn Sie einen externen Smarthost für Sendmail angeben wollen, ist das eine der wenigen Situationen, in denen Sie die sendmail.cf bearbeiten müssen. Suchen Sie nach einem DS am Zeilenanfang (möglicherweise auskommentiert), und schreiben Sie dahinter lückenlos den FQDN des Relayservers.
# "Smart" relay host (may be null) DSmailrelay.myisp.org.
So sieht der Eintrag also aus, wenn der Server mailrelay.myisp.org heißt. Soll Ihr Server selbst als SMTP-Relay fungieren, dann müssen Sie die Dateien /etc/mail/access und /etc/mail/relay-domains modifizieren und anschließend in ebendiesem Verzeichnis einmal das Kommando make ausführen, um die korrespondierenden db-Files zu generieren.
Smarthost mit Postfix
Sollten Sie Postfix als MTA verwenden, muss der Smarthost entsprechend in der Datei /etc/postfix/main.cf eingetragen werden. Dieser Eintrag sieht wie folgt aus:
relayhost = mail.myisp.org
Um Postfix selbst als Relay einzusetzen, einfach mit der Angabe der eigenen Netzwerke für bestimmte Subnetze Relaying zuzulassen:
mynetworks = 127.0.0.0/8 192.168.50.0/24 172.16.0.0/28
Wesentlich sicherer ist es natürlich, eine Authentifizierung des Benutzers zu verlangen. Als Mechanismus kommt hier am ehesten SASL ( Simple Authentication and Security Layer ) in Frage. Sollte ein authentifizierter Benutzer eine Mail mit gefälschtem Absender verschicken, ist dieser Vorgang zumindest in den Protokollen ( /var/log/mail ) nachvollziehbar.
Exim und qmail
Weitere MTAs sind Exim und qmail. Exim ist weitgehend ähnlich zu konfigurieren wie Sendmail, die Konfiguration ist aber etwas einfacher.
Quellenangaben
- Lpic1-v500
Fragen: 67 - 70, 76