manual.tex
branchcms
changeset 24 255598cae35f
parent 8 5e9d46863588
child 25 9ea86b754408
equal deleted inserted replaced
23:72ba031fec20 24:255598cae35f
     2 % © Heiko Schlittermann
     2 % © Heiko Schlittermann
     3 % $Id: manual.tex 1501 2005-11-04 06:22:25Z heiko $
     3 % $Id: manual.tex 1501 2005-11-04 06:22:25Z heiko $
     4 % $URL: https://svn.schlittermann.de/is/mailAdmin/trunk/manual.tex $
     4 % $URL: https://svn.schlittermann.de/is/mailAdmin/trunk/manual.tex $
     5 
     5 
     6 \usepackage{ius}
     6 \usepackage{ius}
       
     7 \usepackage{bold-extra}
     7 \usepackage{makeidx}
     8 \usepackage{makeidx}
       
     9 \usepackage[german]{varioref}
       
    10 \setlength{\LTleft}{\parindent}
       
    11 \setlength{\LTright}{\fill}
     8 \newcommand{\N}[1]{\textit{#1\/}}	% name
    12 \newcommand{\N}[1]{\textit{#1\/}}	% name
     9 \newcommand{\T}[1]{\texttt{#1}}	% typed
    13 \newcommand{\V}[1]{\textit{#1\/}}	% variable / name
    10 \newcommand{\U}[1]{\underline{#1}}
    14 \newcommand{\T}[1]{\texttt{#1}}		% typed
    11 \newcommand{\C}[1]{}
    15 \newcommand{\F}[1]{\texttt{#1}}		% file
    12 
    16 \newcommand{\U}[1]{\underline{#1}}	% underline
    13 \title{Mailsystem --- Deutsche Post AG / TCB  --- Systemdokumentation}
    17 \newcommand{\C}[1]{\texttt{\textbf{#1}}}
       
    18 \newcommand{\NL}{\tabularnewline}
       
    19 \newcommand{\Tilde}{\~{}}
       
    20 \newcommand{\Prompt}{\texttt{linux:\Tilde\#\,}}
       
    21 
       
    22 \newcommand{\Notice}[1]{\marginpar{\footnotesize\raggedright{}#1}}
       
    23 \newcommand{\Linux}[1]{\Prompt#1\newline}
       
    24 
       
    25 \title{Mailsystem --- CMS-AG --- Systemdokumentation}
    14 \author{$<$hs@schlittermann.de$>$}
    26 \author{$<$hs@schlittermann.de$>$}
    15 \date{\today}
    27 \date{\today}
    16 %\makeindex
    28 %\makeindex
    17 
    29 
    18 \begin{document}
    30 \begin{document}
    19 \maketitle
    31 \maketitle
    20 
    32 
    21 %\begin{abstract}
       
    22 \subsubsection*{Zusammenfassung}
    33 \subsubsection*{Zusammenfassung}
    23   Ein Mailserver.  Post wird per \N{fetchmail} geholt, an \N{exim}
    34   Ein Mailserver.  \N{Exim} als SMTP-Server und \N{Cyrus} als Mailstore,
    24   (SMTP) übergeben und dann in den \N{cyrus}-Mailstore gelegt.  Dort
    35   der dann alles über POP3/IMAP zur Verfügung stellt.  Dazu noch
    25   ist dann alles per POP/IMAP verfügbar.
    36   \N{SpamAssassin} und \N{AMaViS} und auch noch LDAP für Nutzer und
    26 %\end{abstract}
    37   \N{Mailman} für die Mailinglisten/Verteiler.
    27 
    38 
    28 \parskip0mm
    39 {\parskip0mm\tableofcontents}
    29 \tableofcontents
       
    30 \parskip0.5em
       
    31 
       
    32 %\setlength{\parindent}{0mm}
       
    33 %\setlength{\parskip}{1em}
       
    34 
    40 
    35 \section{Verwendete Komponenten}
    41 \section{Verwendete Komponenten}
    36 
    42 
    37   \begin{tabular}{ll}
    43   Der Mailserver läuft auf einem normalen Debian/GNU Linux-System.  Die
    38     Post-Abholer & fetchmail \\
    44   folgenden relevanten Komponenten sind neben dem Basissystem
    39     SMTP-Server	& exim 4.5x \\
    45   installiert:
    40     POP3/IMAP-Server  & cyrus 2.2 \\
    46 
    41     OpenLDAP  &	  2.2 \\
    47   \begin{longtable}{llrl}
    42   \end{tabular}
    48     \textbf{Dienst} & \textbf{Software} & \textbf{Version} &
    43 
    49     \textbf{Bemerkung} \\\hline
    44 \section{LDAP}
    50     \endhead
    45 
    51     Betriebssystem    &	Debian GNU/Linux  & 3.1			& stable, Codename \qq{sarge} \\
    46   Im LDAP sind die Nutzerdaten (Accounts, Passworte, \ldots) hinterlegt.
    52     SMTP-Server	      & Exim		  & 4.62 \\
       
    53     POP3/IMAP-Server  & Cyrus		  & 2.2.13 \\
       
    54     OpenLDAP	      &	OenLDAP		  & 2.2.23 \\
       
    55     Spam-Scanner      & SpamAssassn	  & 3.1.1 \\
       
    56     Viren-Entpacker   & AMaViS		  & 2.4.1 \\
       
    57     Virenscanner      & Vexira-Antivir	  & 2.1.7		& Lizenz bis 16. Juni 2009 \\
       
    58 		      & Clam-Antivirus		  & 0.88.3 \\
       
    59   \end{longtable}
       
    60 
       
    61   Wenn nicht anders erwähnt, stehen alle Komponenten unter der \emph{GNU Public
       
    62   Licence} oder ähnlichen freien Lizenzen.
       
    63 
       
    64 \section{Struktur}
       
    65 
       
    66   Mails kommen von außen und werden vom SMTP-Server \N{Exim} entgegen
       
    67   genommen.  Dieser läßt die Mails schon während des Empfangs vom
       
    68   Spamscanner \N{SpamAssassin} prüfen und übergibt sie anschließend an
       
    69   den Virenscanner.  
       
    70   
       
    71   Sind die Nachrichten vom Virenscanner geprüft werden Sie vom
       
    72   SMTP-Server an das \qq{Mailstorage} \N{Cyrus} übergeben.
       
    73 
       
    74   Der Cyrus-Server verwaltet die Mailboxen und stellt sie für einen
       
    75   Zugriff über POP3 bzw. IMAP zur Verfügung.
       
    76 
       
    77   Ausgehende Mails werden vom jeweiligen Client direkt an den
       
    78   SMTP-Server geliefert, dieser besorgt, nach Virentests, dann die
       
    79   Zustellung.
       
    80 
       
    81   Die Nutzerverwaltung erfolgt komplett im LDAP.
       
    82 
       
    83   \subsection{Sicherheit}
       
    84   \label{p:security}
       
    85 
       
    86     Wenn möglich versendet der SMTP-Server die Nachrichten über
       
    87     TLS/SSL-gesicherte Verbindungen.  Für eingehende Mails stellt er
       
    88     TLS/SSL zur Verfügung.
       
    89 
       
    90     Anmelde-Daten (SMTP-Authentifizierung, POP- bzw.
       
    91     IMAP-Authentifizierung) \emph{sollten} ausschließlich über TLS- bzw
       
    92     SSL-gesicherte Verbindungen gesandt werden.  Im internen Netz
       
    93     (LAN-Seite des Mailservers) sind POP/IMAP-Verbindungen derzeit auch
       
    94     ungesichert möglich.\Notice{Das sollte schnellstens geändert
       
    95     werden!}
       
    96 
       
    97     Jeder der beteiligten LDAP-Server stellt seine Daten
       
    98     auf \T{ldap://127.0.0.1/} und SSL-verschlüsselt auf \T{ldaps:///} zur Verfügung. 
       
    99     Damit ist sichergestellt, daß eine Übertragung im Netz
       
   100     ausschließlich verschlüsselt erfolgt.  Das ist auch bei Verwendung
       
   101     von LDAP-Clients (LDAP-Browser, LDAP-Editor) zu beachten.
       
   102 
       
   103     Der Zugriff auf die Daten des LDAP-Servers ist für jeden möglich,
       
   104     Passwort-Information wird jedoch nur nach einer entsprechenden
       
   105     Anmeldung am LDAP-Server geliefert.
       
   106 
       
   107 
       
   108 \section{Nutzerverwaltung (LDAP)}
       
   109 
       
   110   Sämtliche Informationen über Nutzer (Namen, Passworte,
       
   111   Weiterleitungen, \qq{Verteiler}) werden im LDAP verwaltet.
       
   112 
       
   113   LDAP-Server ist der LDAP-Master auf dem Fileserver.  Von dort werden
       
   114   die Daten zum Mailserver repliziert.  Der Mailserver ist vollwertiger
       
   115   LDAP-Slave mit einer Kopie der Masterdaten.  Er ist also auch
       
   116   lebensfähig ohne den Master.
       
   117 
       
   118   Diese im LDAP verwalteten Nutzer haben nichts mit den auch im LDAP
       
   119   abgelegten Windows-Nutzern der Fileserver zu tun und auch nichts mit
       
   120   eventuellen Unix-Nutzern auf dem Host \T{daten.cms.de}.  Das
       
   121   Mail-Storage \N{Cyrus} nutzt den LDAP-Dienst nur für seine eigene
       
   122   interne Nutzerverwaltung.
       
   123 
       
   124   Änderungen direkt im LDAP-Verzeichnis sind möglich, sollten aber mit
       
   125   Bedacht erfolgen, da z.B. ein dort neu eingetragener Nutzer nicht
       
   126   automatisch sicherstellt, daß auch die zugehörige Infrastruktur
       
   127   (Mailbox etc.) angelegt wird.
       
   128 
    47   Mit einem LDAP-Browser ist jederzeit der Zugang zum LDAP-Server
   129   Mit einem LDAP-Browser ist jederzeit der Zugang zum LDAP-Server
    48   möglich, so sind Änderungen relativ einfach und schnell möglich.\index{LDAP-Tools}
   130   möglich, so sind kleine Änderungen relativ einfach und schnell
    49 
   131   möglich (Zugangsdaten Abschnitt \vref{p:zugangsdaten}).
    50   \subsection{SSL/TLS}
   132 
    51 
   133   \subsection{Struktur}
    52   Der LDAP-Server stellt seine Dienste unverschlüsselt zur Verfügung. Verschlüsselung über
   134 
    53   STARTTLS bzw. \texttt{ldaps:///} ist möglich und konfiguriert.  Die Herausforderung ist
   135     Es existieren zwei Typen von Objekten: Nutzer und Aliase.  Beide
    54   aber, daß dann der Client das auch unterstützen muß und vor allem mit den von einer nicht
   136     dieser Objekttypen haben eine Reihe von Attributen.
    55   offiziellen CA signierten Zertifikaten auskommen muß.
   137 
       
   138     Für die Verteilung der Mails auf verschiedene Nutzer sind 
       
   139     parallele Mechanismen implementiert: alternative Mailadressen,
       
   140     Aliase, Mailgruppen und Weiterleitungen. 
       
   141 
       
   142 
       
   143     \subsubsection{Reale Nutzer}
       
   144 
       
   145       Zu jedem realen Nutzer gehört eine Mailbox (\N{Inbox}).  Zu dieser
       
   146       gehören Name (\N{UID}) und Passwort.  Jede UID darf nur einmal
       
   147       im LDAP-Verzeichnis vorkommen.
       
   148 
       
   149       Jeder Nutzer bekommt die Mails, die an seine UID gesendet werden.
       
   150 
       
   151     \subsubsection{Alternative Mailadressen}
       
   152 
       
   153       Zu jedem realen Nutzerobjekt im LDAP gehört eine Liste von
       
   154       alternativen Mailadressen.  Diese alternativen Adressen sollten
       
   155       vor allem für verschiedene Schreibweisen der Mailadresse (mit Vorname,
       
   156       ohne Vorname, \dots) genutzt werden.  Jede alternative Adresse
       
   157       sollte also auch nur \emph{genau einmal} im gesamten Verzeichnis
       
   158       vorkommen.
       
   159 
       
   160       Der reale Nutzer bekommt alle Mails zugestellt, die an eine seiner
       
   161       alternativen Adressen gerichtet sind.
       
   162 
       
   163 
       
   164     \subsubsection{Aliase}
       
   165 
       
   166       Die Aliase entsprechen dem altbekannten Aliasmechanismus der
       
   167       \F{/etc/aliases}.  Jeder \qq{virtuellen} Adresse werden beliebig
       
   168       viele andere Adressen zugeordnet.  Problematisch ist hierbei, daß
       
   169       z.B. beim Löschen eines Nutzers auch alle Aliase überprüft werden
       
   170       müssen.
       
   171 
       
   172       Diese Aliase sollten nur noch für die Zuweisung von funktionalen
       
   173       Adressen (wie z.B. \N{postmaster}) an einzelne Personen oder
       
   174       Personengruppen verwendet werden.
       
   175 
       
   176     \subsubsection{MailGroups}
       
   177 
       
   178       Zu den Attributen eines jeden Nutzers gehören die Mailgroups, zu
       
   179       denen er gehört.  Dieser Mechanismus arbeitet \qq{rollenbasiert}.
       
   180       Mails an eine solche Gruppe wird dann allen Nutzern zugestellt, in
       
   181       deren Attributen dieser Gruppenname auftaucht.  
       
   182 
       
   183       Der reale Nutzer bekommt alle Mails zugestellt, die an eine seiner
       
   184       Gruppen gerichtet ist.
       
   185 
       
   186     \subsubsection{Weiterleitung}
       
   187 
       
   188       Nach der Auflösung von Aliasen und Gruppen wird kurz vor der
       
   189       Zustellung an das Postfach überprüft, ob es einen
       
   190       Weiterleitungseintrag für den Nutzer gibt.  Hier können eine Reihe
       
   191       von Mailadressen hinterlegt werden, u.a. auch die des Nutzers
       
   192       selbst.  Diese Eigenschaft sollte für Weiterleitungen in
       
   193       eigentlichen Sinne (Urlaubsvertretung, \dots) verwendet werden.
       
   194 
       
   195   \subsection{LDAP-Baum}
       
   196 
       
   197     Unterhalb des Knotens \N{ou=Mail} sind alle Objekte angelegt, die
       
   198     zum Mailsystem relevant sind, also Daten für die  Authentifizierung
       
   199     der Nutzer, für die Mailboxen, die alternativen Mailadressen, Aliase und die
       
   200     Mailgruppen-Zugehörigkeiten.
       
   201 
       
   202     Es gibt im \N{ou=Mail}-Zweig zwei Unterzweige, einen für die
       
   203     Nutzer-Informationen (\N{ou=Users}) und einen für die Alias-Daten
       
   204     (\N{ou=Aliases}).
       
   205 
       
   206     Für jeden Nutzer muß es ein LDAP-Objekt unterhalb von \N{ou=Users}
       
   207     geben.  Wichtige Bestandteile der Mail-Accounts in \N{ou=Users} sind:
       
   208 
       
   209 
       
   210     \begin{longtable}{ll}
       
   211       \textbf{Attribut}		& \textbf{Inhalt} \NL\hline
       
   212       objectClass		& \N{uidObject}, \N{cmsMailRecipient}, \N{person} \\
       
   213       uid			& Nutzer-ID (Anmeldung am POP3/IMAP-Server, Name der Mailbox) \\
       
   214       userPassword		& Passwort für SMTP/POP3/IMAP (Klartext)\\
       
   215       cmsMailPrimaryAddress	& primäre Mailadresse (incl. Domain-Name \N{cms.de})\\
       
   216       cmsMailAddress		& alternative Adressen \\
       
   217       cmsMailGroup		& Mitgliedschaft in Mailgruppen \\
       
   218       cmsMailForwardingAddress	& Weiterleitungsadresse (analog \N{\Tilde/.forward}) \\
       
   219       sn			& Nachname (ungenutzt, muß aber gesetzt sein) \\
       
   220       cn			& allgemeiner Name (ungenutzt, muß aber gesetzt sein) 
       
   221     \end{longtable}
       
   222 
       
   223     Für Weiterleitungsinformation analog zur klassischen
       
   224     \F{/etc/aliases} steht der \N{ou=Aliases}-Zweig zur Verfügung.
       
   225 
       
   226     Die Alias-Objekte bestehen aus folgenden Attributen:
       
   227 
       
   228     \begin{longtable}{ll}
       
   229 	\textbf{Attribut}	  & \textbf{Inhalt} \NL\hline
       
   230 	objectClass		  & \N{cmsMailAlias} \\
       
   231 	mail			  & allgemeiner Name des Aliases (hier: \qq{linke Seite} des Alias-Eintrags) \\
       
   232 	cmsMailForwardingAddress  & Alias, also der Empfänger \\
       
   233     \end{longtable}
    56 
   234 
    57   \subsection{LDAP-Browser}
   235   \subsection{LDAP-Browser}
    58 
   236 
    59     Es gibt einige GUI-LDAP-Browser.
   237     Es gibt einige GUI-LDAP-Browser.
    60 
   238 
    61       \begin{description}
   239     \begin{description}
    62 	\item{\N{ldapbrowser}}  Bei Google man nach \qq{ldapbrowser java}
   240     \item{\N{ldapbrowser}}  Bei Google kann man nach \qq{ldapbrowser java}
    63 	  suchen.  Er läuft unter Linux und unter Win32 mit einer aktuellen
   241       suchen.  Er läuft unter Linux und unter Win32 mit einer aktuellen
    64 	  Java-Runtime.
   242       Java-Runtime.
    65 
   243 
    66       \item{\N{JXplorer}} Alternative zu dem o.g.
   244     \item{\N{JXplorer}} Alternative zu dem o.g. für alle Plattformen
    67 	  \end{description}
   245 
       
   246     \item{\N{gq}} Ein graphischer LDAP-Browser/Editor unter Linux
       
   247 
       
   248     \item{Web-Interface} Ohne es weiter getestet zu haben: unter
       
   249       \T{https://daten.cms.de/ldap} steht ein Webinterface zum
       
   250       Master- und zum lokalen Slave zur Verfügung.
       
   251     \end{description}
    68 
   252 
    69     Und es gibt natürlich noch für die (Linux)-Kommandozeile einiges.
   253     Und es gibt natürlich noch für die (Linux)-Kommandozeile einiges.
    70     Am besten geeignet: \N{ldapvi}.  Für die Kontrolle über die
   254     Am besten geeignet: \N{ldapvi}.  Für die Kontrolle über die
    71     letzten Schrauben dann \N{ldap\{add,delete,modify\}}.  Für
   255     letzten Schrauben dann \N{ldap\{add,delete,modify\}}.  Für
    72     \N{ldapvi} ist ein Alias \T{ldapvi} in der \T{~.bashrc} eingetragen,
   256     \N{ldapvi} ist ein Alias \T{ldapvi} in der \F{\Tilde/.bashrc} eingetragen,
    73     der sich versucht, als Admin an den LDAP-Server zu binden.
   257     der versucht, sich als Admin an den Master-LDAP-Server zu binden.
    74 
   258 
    75     Die Zugangsdaten $\rightarrow$ Seite~\pageref{p:Zugangsdaten}.
   259     Die Zugangsdaten sind in Abschnitt \vref{p:zugangsdaten} zu finden.
    76 
       
    77   \subsection{Struktur}
       
    78 
       
    79     Unterhalb des Knotens \N{ou=MailAccounts} sind Nutzer-Objekte angelegt, die
       
    80     für die Authentifizierung notwendig sind.  Außerdem enthalten diese
       
    81     Objekte auch alternative Mail-Adressen und die Mailgruppen-Zugehörigkeit 
       
    82     für die jeweiligen Nutzer.
       
    83 
       
    84     \begin{sloppypar}
       
    85     Unterhalb von \N{ou=MailAliases} sind Objekte, die den bisherigen
       
    86     Aliasen/Verteilerlisten aus \T{/etc/aliases} entsprechen.
       
    87     \end{sloppypar}
       
    88 
       
    89     Es existieren also zwei Mechanismen für eine Realisierung von Alias-ähnlichen
       
    90     Verteilern: über \N{ou=MailAliases} und über das \N{MailGroup}-Attribut.
       
    91 
       
    92     \fussy
       
    93     Wichtige Bestandteile der Mail-Accounts sind:
       
    94 
       
    95     \begin{tabular}{ll}
       
    96       objectClass   & \N{uidObject}, \N{tcbMailRecipient}, \N{person} \\
       
    97       uid & Nutzer-ID (Anmeldung am POP3/IMAP-Server, Name der Mailbox) \\
       
    98       userPassword & Passwort für SMTP/POP3/IMAP \\
       
    99       tcbMailPrimaryAddress & primäre Mailadresse \\
       
   100       tcbMailAddress & alternative Adressen \\
       
   101       tcbMailGroup & Mitgliedschaft in Mailgruppen \\
       
   102       tcbMailForwardingAddress & Weiterleitungsadresse (analog .forward) \\
       
   103       sn & Nachname (ungenutzt, muß aber gesetzt sein) \\
       
   104       cn & allgemeiner Name (ungenutzt, muß aber gesetzt sein) \\
       
   105     \end{tabular}
       
   106 
       
   107     Die Aliase sind einfacher aufgebaut:
       
   108 
       
   109     \begin{tabular}{ll}
       
   110       objectClass & \N{tcbMailAlias} \\
       
   111       mail & allgemeiner Name des Aliases (hier: \qq{linke Seite}) \\
       
   112       tcbMailForwardingAddress & Alias, als der Empfänger \\
       
   113     \end{tabular}
       
   114 
   260 
   115   \subsection{Files}
   261   \subsection{Files}
   116 
   262 
   117     \begin{tabular}{ll}
   263     \begin{longtable}{ll>{\raggedright}p{0.6\textwidth}}
   118       Konfiguration   &	  \T{/etc/ldap/*} \\
   264       \textbf{Funktion}	& \textbf{Datei} \NL\hline
   119       Logfiles	      &	  \T{/var/log/syslog} \\
   265       Konfiguration	& \F{/etc/ldap/*} & Achtung: \F{ldap.conf} ist für Clients, \F{slapd.conf} ist für den Server \NL
   120       Datenbank	      &	  \T{/var/lib/ldap/*} \\
   266       Logfiles		& \F{/var/log/syslog} \\
   121       Backup	      &	  \T{/var/backups/ldap.week*} \\
   267       Datenbank		& \F{/var/lib/ldap/*} & Slave-Kopie \NL
   122     \end{tabular}
   268     \end{longtable}
   123 
   269 
   124   \subsection{Administration}
   270   \subsection{Administration}
   125 
   271 
   126     Am LDAP-Server selbst ist nicht viel zu administrieren.  Nutzer an-
   272     Am LDAP-Server selbst ist nicht viel zu administrieren.  Nutzer an-
   127     und ablegen ist auf Seite~\pageref{p:admin} beschrieben.
   273     und ablegen ist in Abchnitt \vref{p:admin} beschrieben.
   128 
   274     Zu beachten ist, daß alle Änderungen am Master
   129   \subsection{Backup/Recovery}
   275     \N{ldaps://ldap-master} erfolgen müssen, der Slave ist
   130 
   276     \emph{read-only}.
   131     Sollte das LDAP sich über Datenbank-Probleme beschweren, gibt es
       
   132     etwa folgenden Weg:
       
   133 
       
   134       \begin{enumerate}
       
   135       \item   LDAP-Server neustarten: \T{service lap restart}
       
   136       \item   Datenbank-Recovery versuchen:
       
   137 	      \begin{quote}\T{%
       
   138 	      service ldap stop \\
       
   139 	      cd /var/lib/ldap\\
       
   140 	      db41\_recover\\
       
   141 	      service ldap start\\
       
   142 	      }\end{quote}
       
   143       \item   Backup wieder einspielen:
       
   144 	      \begin{quote}\T{%
       
   145 	      service ldap stop \\
       
   146 	      rm -r /var/lib/ldap/* \\
       
   147 	      bzcat </var/backups/ldap/XXX.bz2 | slapadd \\
       
   148 	      service ldap start \\
       
   149 	      }\end{quote}
       
   150       \item   0351.8029981
       
   151       \end{enumerate}
       
   152 
   277 
   153 \section{SMTP}
   278 \section{SMTP}
   154 
   279 
   155   Um unerwünschtes Mailweiterleiten\index{Relaying} zu verhinden, sind Mails von
   280   Eingehende Mails (egal ob von intern oder extern) werden vom
   156   unauthentifizierten Nutzern nur zugelassen, wenn der Empfänger
   281   \N{Exim}-SMTP-Server entgegen genommen.  Verschiedene Regeln in ACLs
   157   in einer der bekannten lokalen Domains ist.  Zum Senden von Mails an
   282   sollen verhindern, daß zuviel SPAM eintrifft.  Vor allem sollen sie
   158   andere Domains ist eine Authentifizierung\footnote{Name/Passwort wie
   283   aber auch das unerwünschte Weiterleiten von Mails verhindern.
   159   am POP3/IMAP-Server} am Mailserver notwendig.
   284 
   160 
   285   \subsection{SMTP-Policies}
   161   \subsection{SMTP-Authentifizerung}
   286 
   162 
   287     Um den Mißbrauch des Mailservers auszuschließen sind einige einfache
   163     Es werden die Authentifizierungsverfahren PLAIN und
   288     Regeln implementiert:
   164     LOGIN unterstützt.  
   289 
   165 
   290     \begin{itemize}
   166     Authentifizierung ist nur möglich, wenn eine verschlüsselte Verbindung
   291 
   167     zwischen MUA und MTA besteht.  Dafür bietet der MTA \N{STARTTLS} an.
   292       \item Mails an \T{postmaster@cms.de} werden immer angenommen
   168 
   293 
   169     \subsubsection{Authorisierung}
   294       \item Mails von authentifizierten Nutzern werden immer weitergeleitet.
   170 
   295 
   171       Authentifizierte Nutzer dürfen Mails an beliebige Adressen versenden.
   296       \item Mails an Empfänger in lokalen Domains (z.Z. nur \V{cms.de}) werden immer
   172       Dabei wird jedoch immer die \N{PrimaryMailAddress} als deren Absender
   297       angenommen.
   173       eingetragen.
   298 
       
   299       \item Mails von vertrauenswürdigen IP-Adressen (einige interne
       
   300 	Server) werden immer weitergeleitet.
       
   301 
       
   302     \end{itemize}
       
   303 
       
   304     Bei Bedarf ist dieses Regelwerk flexibel erweiterbar mit Black- und
       
   305     Whitelists.
       
   306 
       
   307   \subsection{SMTP-Authentifizerung/Authorisierung}
       
   308 
       
   309     Wie eben erwähnt ist ein Senden von Mail über den Mailserver nur
       
   310     nach einer erfolgreichen Authentifizierung möglich.
       
   311 
       
   312     Es werden die Authentifizierungsverfahren PLAIN und LOGIN
       
   313     unterstützt.  Da in beiden Fällen Klartextpassworte übertragen
       
   314     werden, sind diese Verfahren nur zulässig, wenn eine gesicherte
       
   315     Verbindung (START TLS) aufgebaut wurde (siehe auch Abschnitt
       
   316     \vref{p:securit}).  Die entsprechende
       
   317     Einstellung in den Mailclients heißt meistens \qq{TLS} oder \qq{TLS
       
   318     wenn möglich}.\footnote{%
       
   319       Zum Thema TLS/SSL:\newline
       
   320       Grundsätzlich verwenden beide das selbe Verschlüsselungsverfahren.
       
   321       Wenn TLS erwähnt wird, dann als Protokollerweiterung zu einem
       
   322       Klartextprotokoll. Es wird etwas wie \T{STARTTLS} gesendet, um
       
   323       anschließend in einen verschlüsselten Übertragungsmodus zu
       
   324       schalten.  Diese Erweiterung benutzt die normalen Ports (z.B. 25
       
   325       für SMTP).  Mit SSL (manchmal auch \emph{TLS-on-connect}) wird
       
   326       bereits beim Verbindungsaufbau ein sicherer Kanal aufgebaut.
       
   327       Dafür werden aber gesonderte Ports benötigt (z.B. 993 für IMAPs).}
       
   328     Wichtig ist, daß der Mailclient mit dem SMTP-Server auf Port 25 reden muß.
       
   329 
   174 
   330 
   175   \subsection{Mailrouting}\label{s:mailrouting}
   331   \subsection{Mailrouting}\label{s:mailrouting}
   176 
   332 
       
   333     Mails werden vom SMTP-Server nach verschiedenen Kriterien
       
   334     \qq{geroutet}.
       
   335 
   177     \begin{enumerate}
   336     \begin{enumerate}
   178 
   337 
   179       \item Mail an nicht lokale Domains (lokal ist
   338       \item Mail an nicht lokale Domains (lokal ist
   180 	    \N{tcb.deutschepost.de}) wird an den Smart-Relay (\N{mimesweeper} 
   339 	    \N{cms.de} und \N{mailman.cms.de}) wird an den MX der
   181 	    über DNS-Auflösung) weitergeleitet.
   340 	    entsprechenden Ziel-Domain zugestellt.
   182 
   341 
   183       \item Es wird im LDAP nach Aliasen für die aktuelle Adresse gesucht (unterhalb
   342 	    Andere Mails werden als lokal betrachtet.
   184 	    \N{ou=MailAliases}).  Diese Aliase entsprechen den bisherigen
   343 
   185 	    \T{/etc/aliases}.  Aliase werden dort ohne angehängte Domain gesucht.
   344       \item Mails an Adressen \N{*@mailman.cms.de} werden an das
   186 
   345 	  Mailinglisten-System \N{mailman} übergeben, sofern die entsprechende
   187       \item Es wird unterhalb von \N{ou=MailAccounts} gesucht, ob der Adressat eine 
   346 	  Mailingliste existiert.
   188 	    Mailgruppe ist.  Wenn ja, werden alle Gruppenmitglieder zu neuen 
   347 
   189 	    Adressaten.
   348       \item Es wird in \F{/etc/aliases} nach System-Aliases gesucht und
   190 
   349 	  mit den eventuell neu ermittelten Adressen beginnt das Routing
   191       \item Es wird unterhalb von \N{ou=MailAccounts} gesucht, ob
   350 	  von vorn.
   192 	    es für den Adressaten eine Mailbox/UID gibt.
   351 
   193 
   352       \item Es wird im LDAP-Baum \N{ou=Aliases,ou=Mail,\dots} nach Aliases
   194       \item Es wird unterhalb von \N{ou=MailAccounts} gesucht, ob für den
   353 	  gesucht.  Mit eventuell neuen ermittelten Adressen beginnt das
   195 	    Adressaten/UID Weiterleitungsadressen existieren.  Wenn ja, werden diese
   354 	  Routing von vorn.  Suchfilter ist \N{mail=\V{local\_part}}.
   196 	    eingesetzt und das Routing beginnt von vorn.
   355 	  
       
   356 	  Mehrere Aliase mit dem selben Namen sind nicht zulässig, aber
       
   357 	  mehrere Adressen, die in und dem selben Alias zugeordnet sind
       
   358 	  (als ein einfacher Verteiler).
       
   359 
       
   360       \item Es wird im LDAP-Baum \N{ou=Users,ou=Mail,\dots} nach Objekten
       
   361 	  gesucht, die den \N{local\_part} als Mail-Attribut haben.
       
   362 	  Suchfilter ist hier wieder \N{mail=\V{local\_part}}.
       
   363 
       
   364 	  Da \N{cmsMailAddress} und \N{cmsMailGroup} vom \N{mail}-Attribut
       
   365 	  abgeleitet sind, werden also auch diese Attribute durchsucht.
       
   366 	  
       
   367 	  Die \N{uid} der gefundenen Objekte werden jetzt die Addressaten.
       
   368 
       
   369       \item Für jede einzelne \N{uid} wird nun überprüft, ob es ein
       
   370 	  \N{cmsMailForwardingAddress}-Attribute gibt.  Wenn ja, beginnt
       
   371 	  mit diesen das Routing von vorn.
       
   372 
       
   373       \item Es wird unterhalb von \N{ou=Users,ou=Mail,\dots} gesucht, ob
       
   374 	  es für den Adressaten eine Mailbox/UID gibt.
   197 
   375 
   198       \item Wenn dieser Schritt erfolgreich ist, wird die Mail an den
   376       \item Wenn dieser Schritt erfolgreich ist, wird die Mail an den
   199 	    POP3/IMAP-Server übergeben.  
   377 	  POP3/IMAP-Server übergeben.  
   200 
   378 
   201     \end{enumerate}
   379     \end{enumerate}
   202       
   380 
       
   381     Alle \N{mail}-Attribute (incl. der abgeleiteten \N{cmsMailAddress},
       
   382     \N{cmsMailGroup}) müssen \emph{ohne} Domain-Namen angegeben werden.
       
   383     Dagegen dürfen in der  Ziel-Adresse \N{cmsMailForwardingAddress} und
       
   384     in der primären Mailadresse \N{cmsMailPrimaryAddress} auch voll
       
   385     qualifizierte Adressen angegeben werden.
   203 
   386 
   204   \subsection{Adress-Rewriting}
   387   \subsection{Adress-Rewriting}
   205 
   388 
   206     In ausgehenden Mails (zum Mimesweeper) werden alle Absender-Adressen
   389     Ausgehende Mails werden nicht verändert.  Jedoch wird bei Nutzern,
   207     so umgeschrieben, daß als Absender (in \N{From:} und \N{Sender:} und auch im
   390     die sich authentifiziert haben, eine \N{Sender:}-Zeile mit der
   208     \N{Return-Path} die primäre Adresse des authentifizierten Nutzers steht.
   391     primären Mailadresse des Nutzers eingefügt,
   209 
   392     wenn die \N{From:}-Zeile von der primären Mailadresse des Absenders
   210     Enthält die Primäre Adresse kein \T{@}, dann wird der Return-Path
   393     abweicht.
   211     auf \T{$<>$} gesetzt und die \N{From:} und \N{Sender:}-Header
   394 
   212     bleiben unverändert.  Mit dieser Einstellung sollte die Mail dann
       
   213     (wegen des leeren Return-Path) die meisten Mailserver passieren
       
   214     können.\footnote{Die meisten.  Einige prüfen inzwischen auch die
       
   215     Verfügbarkeit von brauchbaren Header-Zeilen \N{From:} und
       
   216     \N{Sender:}.}
       
   217 
       
   218     In \N{CC:}, \N{Reply-To:}, \N{To:}-Headern wird, wenn sie eine
       
   219     Adresse \N{@tcb.deutschepost.de} enthalten, diese ersetzt durch die
       
   220     primäre Adresse des entsprechenden Nutzers (gesucht wird im Ldap
       
   221     nach Einträgen, deren \N{tcbMailAddress} dem Nutzer lokalen Teil der
       
   222     fraglichen Adresse entspricht).
       
   223     
       
   224   \subsection{Files}
   395   \subsection{Files}
   225     
   396 
   226     \begin{tabular}{ll}
   397     \begin{longtable}{ll}
   227       Konfiguration \N{Exim}		&   \T{/etc/exim/*}	\\
   398       \bf Funktion			& \bf Datei \NL\hline
   228       SMTP-Spool			&   \T{/var/spool/exim/*} \\
   399       Konfiguration \N{Exim}		&   \F{/etc/exim4/*}	\\
   229       SMTP-Log				&   \T{/var/log/exim/\{main,reject,panic\}.log} \\
   400       SMTP-Spool			&   \F{/var/spool/exim/*} \\
   230     \end{tabular}
   401       SMTP-Log				&   \F{/var/log/exim4/\{main,reject,panic\}log} \\
       
   402     \end{longtable}
       
   403 
       
   404     Nach Änderungen der Konfiguration muß im Konfigurationsverzeichnis
       
   405     \C{make} aufgerufen werden, damit die Änderungen wirksam werden.
   231 
   406 
   232   \subsection{Administration}
   407   \subsection{Administration}
   233 
   408 
   234     Viel zu administrieren sollte es am \N{Exim} nicht geben.  Ab und zu
   409     Viel zu administrieren sollte es am \N{Exim} nicht geben.  Ab und zu
   235     kann man die Warteschlange mit \T{mailq} oder \T{exipick} kontrollieren.
   410     kann man die Warteschlange mit \C{mailq} oder besser \C{exipick} kontrollieren.
   236     Eingefrorene Mails sollten nach einigen (7) Tagen verschwinden.
   411     Eingefrorene Mails sollten nach einigen (7) Tagen automatisch verschwinden.
   237     
   412 
   238     Im Zweifelsfall ist ein Blick in die Logfiles (vor allem
   413     Im Zweifelsfall ist ein Blick in die Logfiles (vor allem
   239     \T{panic.log} und \T{reject.log}) interessant.
   414     \F{paniclog} und \F{rejectlog}) interessant.
   240 
   415 
   241     Zum Adress-Test biete sich folgendes an:
   416     Zum Adress-Test (um zu überprüfen, wie eine bestimmte Mail geroutet
   242 
   417     werden \emph{würde}) kann das folgende Kommando verwendet werden:
   243     \begin{quote}\T{exim -v -bv hans@domain.de}\end{quote}
   418 
   244 
   419     \Linux{\C{exim4 -v -bv} \V{user@domain}}
   245     Damit können lokale und auch externe Adressen getestet werden und es
   420 
   246     ist zu erkennen, wie der Mailserver die jeweilige Adresse routen
   421     Damit können lokale und externe Adressen getestet werden.  Mails
   247     würde.
   422     werden bei diesem Test keine verschickt.
   248 
       
   249 
   423 
   250 \section{POP3/IMAP}
   424 \section{POP3/IMAP}
   251 
   425 
   252   Vom SMTP-Server \N{Exim} kommt die Mail per LMTP zum \N{Cyrus}.  Der
   426   Vom SMTP-Server \N{Exim} kommt die Mail per LMTP zum \N{Cyrus}.  Der
   253   verwaltet sein eigenes Mailstore in \T{/var/spool/cyrus}.  Dort
   427   verwaltet sein eigenes Mailstore in \F{/var/spool/cyrus}.  Dort
   254   manuell einzugreifen ist nicht die beste Idee, da der \N{Cyrus} sich
   428   manuell einzugreifen ist nicht die beste Idee, da \N{Cyrus} sich
   255   Index-Dateien erzeugt, über die er dann den Zustand der Mailboxen zu
   429   Index-Dateien erzeugt, über die er dann den Zustand der Mailboxen zu
   256   kennen glaubt.
   430   kennen glaubt.
   257 
   431 
   258 
       
   259   \subsection{Clients}
   432   \subsection{Clients}
   260 
   433 
   261     Die Clients können per POP3 und/oder IMAP auf ihre Postfächer
   434     Die Clients können per POP3 und/oder IMAP auf ihre Postfächer
   262     zugreifen.  Allerdings steht per POP3 nur die Inbox zur Verfügung.
   435     zugreifen.  Allerdings steht per POP3 nur die Inbox zur Verfügung,
   263 
   436     die Unterpostfächer sind nur über IMAP verfügbar.\Notice{Es gibt
   264     Der übertragenen User-Name wird im LDAP unter \N{ou=MailAccounts}
   437     noch kein Backup vom Mailserver!} 
   265     gesucht und dann wird über ein LDAP-Bind die Korrektheit des
   438 
   266     Passworts geprüft.
   439     Zum Zugriff auf die Postfächer ist eine Anmeldung erforderlich.
       
   440     Zur Sicherheit siehe \vref{p:security}.
       
   441 
       
   442     Der übertragene User-Name wird im LDAP unter
       
   443     \N{ou=Users,ou=Mail,\dots} gesucht.  Genau dieser Name ist dann auch
       
   444     der Name der Mailbox.
       
   445 
       
   446     Als Mailclient empfehlen wir \emph{dringend}
       
   447     \N{Mozilla-Thunderbird}.  Dieser Client ist auf allen Plattformen
       
   448     (Windows, Unix) verfügbar, ist in der Lage, mehrere Konten zu
       
   449     verwalten und beherrscht auch die verwendeten
       
   450     Verschlüsselungsprotokolle.  Über kostenfreie Plugins ist auch
       
   451     GnuPG-Verschlüsselung und Signatur der Mails möglich.
   267 
   452 
   268   \subsection{Files}
   453   \subsection{Files}
   269 
   454 
   270     \begin{tabular}{ll}
   455     \begin{longtable}{ll}
   271       Konfiguration   &	\T{/etc/imapd.conf} \\
   456       \bf Funktion	& \bf Datei \NL\hline
   272 		      & \T{/etc/cyrus.conf} \\
   457       Konfiguration     & \F{/etc/imapd.conf} \\
   273       Spool	      & \T{/var/spool/cyrus} \\
   458 			& \F{/etc/cyrus.conf} \\
   274       Logfiles	      & \T{/var/log/mail.log}
   459 	Spool		& \F{/var/spool/cyrus} \\
   275     \end{tabular}
   460 	Logfiles	& \F{/var/log/mail.log}
       
   461       \end{longtable}
       
   462 
       
   463     Nach Änderungen an den Konfigurationsdatein muß \C{invoke-rc.d
       
   464     cyrus22 restart}\footnote{bzw. \C{invoke-rc.d cyrus restart}}
       
   465     aufgerufen werden, sonst sind die Änderungen unwirksam
       
   466 
   276 
   467 
   277   \subsection{Administration}
   468   \subsection{Administration}
   278 
   469 
   279     Sollten die unten (S.~\pageref{p:admin}) beschriebenen Werkzeuge
   470     Sollten die in Abschnitt \vref{p:admin} beschriebenen Werkzeuge
   280     nicht ausreichen, ist mit \T{cyradm} noch einiges zu retten:
   471     nicht ausreichen, ist mit \C{cyradm} noch einiges zu retten:
   281     \T{cyradm localhost}:
   472     \C{cyradm -u \V{Cyrus-Nutzer} localhost}.  Hier eine kurze
   282 
   473     beispielhafte Sitzung:
   283     \begin{verbatim}
   474 
   284       lm                         # alle Mailboxen anzeigen
   475     \begin{longtable}{ll}
   285       cm user/hannes             # Mailbox anlegen für hannes
   476     \Linux{\C{cyradm -u cyrus localhost}}\\
   286       lm user/hannes             # Hannes Mailbox
   477     Passwort: \C{*}\\
   287       lam user/hannes            # Berechtigungen zeigen
   478     localhost$>$ \C{lm}				& \# alle Mailboxen anzeigen \\
   288       sam user/hannes root all   # Berechtigungen setzten
   479     localhost$>$ \C{cm user/hannes}		& \# Mailbox für hannes anlegen \\
   289       lq user/hannes             # Quota anzeigen
   480     localhost$>$ \C{cm user/hannes}		& \# Mailbox anlegen für hannes\\
   290       sq user/hannes STORAGE 200 # Quota auf 200k setzen
   481     localhost$>$ \C{lm user/hannes}		& \# Hannes Mailbox \\
   291     \end{verbatim}
   482     localhost$>$ \C{lam user/hannes}		& \# Berechtigungen zeigen \\
       
   483     localhost$>$ \C{sam user/hannes root all}	& \# Berechtigungen setzten \\
       
   484     localhost$>$ \C{lq user/hannes}		& \# Quota anzeigen \\
       
   485     localhost$>$ \C{sq user/hannes STORAGE 200} & \# Quota auf 200k setzen\\
       
   486     localhost$>$ \C{quit}\\
       
   487     \Linux{\_}
       
   488     \end{longtable}
       
   489 
       
   490     Mehr Information findet sich wie immer in der Manual-Seite
       
   491     \T{cyradm(8)}.\footnote{Aufruf:\C{man cyradm}}
   292 
   492 
   293     Eine direkte Verbindung mit den Mailboxen ist mit jedem beliebigen
   493     Eine direkte Verbindung mit den Mailboxen ist mit jedem beliebigen
   294     IMAP-Client möglich, z.B. auch mit Mutt: 
   494     IMAP-Client möglich, z.B. auch mit \N{Mutt}: 
   295 
   495 
   296     \begin{quote}
   496     \Linux{\C{mutt -f imaps://\U{cyrus}@localhost\U{/user/hannes}}}
   297     \T{mutt -f imap://cyrus@localhost/user/hannes} 
   497     \Linux{\C{mutt -f imap://\U{hannes}@localhost/}}
   298     \end{quote}
   498 
   299       
   499 
   300     bzw.\ direkt als Hannes: 
   500 \section{Administration des Mailsystems}
   301       
   501 \label{p:admin}
   302     \begin{quote}
       
   303     \T{mutt -f imap://hannes@localhost/}
       
   304     \end{quote}
       
   305     
       
   306 
       
   307 \section{Administration}\label{p:admin}
       
   308 
   502 
   309   Zur Administration des Mailsystem liegt ein einfach(!) zu benutzender
   503   Zur Administration des Mailsystem liegt ein einfach(!) zu benutzender
   310   Script \T{ma} vor.  Die aktuelle Dokumentation dazu ist \N{ma(8)} zu entnehmen.
   504   Script \N{ma} vor.  Dieser Script verfügt über eine Reihe von
   311 
   505   Optionen.  Die jeweils aktuell unterstützten Optionen sind als
       
   506   Kurzreferenz verfügbar:
       
   507 
       
   508   \Linux{ma --help}
       
   509 
       
   510   Eine komplette Referenz über Optionen und Aufrufmöglichkeiten steht
       
   511   mit der Manualseite zu \C{ma(8)} zur Verfügung.
       
   512 
       
   513   Die Administration beschränkt entsprechend der Darstellung in
       
   514   Abschnitt~\vref{p:struktur} auf zwei Teilbereiche: die
       
   515   Mail\emph{accounts} und die Mail\emph{aliase}.  
   312 
   516 
   313   \subsection{Accounts}
   517   \subsection{Accounts}
       
   518   \label{ss:account}
       
   519 
       
   520     Accounts entsprechen Mailboxen.  Auch zum Versenden von Mail ist ein
       
   521     Account notwendig.
   314 
   522 
   315     \subsubsection{Anzeigen}
   523     \subsubsection{Anzeigen}
   316 
   524 
   317     Vorhandene Accounts können angezeigt werden:
   525       Vorhandene Accounts können angezeigt werden:
   318 
   526 
   319     \begin{quote}
   527       \Linux{\C{ma \U{account} --ls}}
   320       \T{ma \U{account} --ls}\\
   528       \Linux{\C{ma \U{account} --ls 'h*'} \# Alle Nutzer beginnend mit `h'}
   321       \T{ma \U{account} --ls `h*'}
   529 
   322     \end{quote}
   530     \subsubsection{Anlegen}
   323 
       
   324     \subsubsection{Anlegen}\label{ss:account}
       
   325 
   531 
   326       Beim Anlegen werden nur Accounts und Mailboxen angelegt, wenn sie
   532       Beim Anlegen werden nur Accounts und Mailboxen angelegt, wenn sie
   327       noch nicht da sind.  In bestehende Accounts werden nur die
   533       noch nicht vorhanden sind. 
   328       Mail-Attribute (\N{tcbMailPrimaryAddress}, \N{tcbMailAddress}) eingetragen, 
   534       In bestehende Accounts werden nur die
   329       wenn Sie noch nicht vorhanden sind.  Andernfalls gehen wir davon
   535       Mail-Attribute (\N{cmsMailPrimaryAddress}, \N{cmsMailAddress})
   330       aus, daß es kein Neueintrag ist.
   536       eingetragen, sofern sie nocht nicht vorhanden sind.
   331 
   537 
   332       \begin{quote}
   538       \Linux{\C{ma \U{account} \U{--add} --fullname='Hans Hanson' --other='hh' hans}}
   333       \T{ma \U{account} \U{--add} --fullname='Hans Hanson' --other='hh' hans.hanson}
   539 
   334       \end{quote}
   540       Als primäre Mailadresse wird der Nutzername + \N{cms.de} angenommen.
   335 
   541 
   336       Weitere Optionen sind:
   542     Weitere Optionen sind:
   337 
   543 
   338       \begin{description}
   544     \begin{description}
   339       \item[\T{--address=s}]  Primäre Mailadresse (default: entspricht dem Account-Namen)
   545     \item[\T{--address=s}]  Primäre Mailadresse (default: entspricht dem Account-Namen)
   340       \item[\T{--fullname=s}] Klartext-Name (default: -)
   546     \item[\T{--fullname=s}] Klartext-Name (default: -)
   341       \item[\T{--other:s}]  Weitere alternative Mailadressen für \emph{diesen\/} Nutzer (default: -)
   547     \item[\T{--other:s}]  Weitere alternative Mailadressen für \emph{diesen\/} Nutzer (default: -)
   342       \item[\T{--imap\_quota=i}] Imap-Quota in MegaByte (default: 300\,MB)
   548     %\item[\T{--imap\_quota=i}] Imap-Quota in MegaByte (default: 300\,MB)
   343       \item[\T{--[no]mbox}]   Anlegen der Mailbox (default: Mailbox wird angelegt)
   549     \item[\T{--[no]mbox}]   Anlegen der Mailbox (default: Mailbox wird angelegt)
   344       \item[\T{--password=s}] Passwort (default: \{pwgen\}, d.h.\ es wird generiert und 
   550     \item[\T{--password=s}] Passwort (default: \{pwgen\}, d.h.\ es wird generiert und 
   345 			      dann angezeigt)
   551 			    dann angezeigt)
   346       \item[\T{--group:s}] Zugehörigkeit zu Mailgruppen.
   552     \item[\T{--group:s}] Zugehörigkeit zu Mailgruppen.
   347       \end{description}
   553     \end{description}
   348 
   554 
   349 
   555 
   350     \subsubsection{Verändern}\label{ss:change}
   556     \subsubsection{Verändern}
       
   557     \label{ss:change}
   351 
   558 
   352       Vorhandene Einträge können natürlich auch verändert werden:
   559       Vorhandene Einträge können natürlich auch verändert werden:
   353 
   560 
   354       \begin{quote}
   561       \Linux{\C{ma \U{account} \U{--modify} --fullname='Hans-Georg Hanson' hans.hanson}}
   355       \T{ma \U{account} \U{--modify} --fullname='Hans-Georg Hanson' hans.hanson}\\
   562 
   356       \end{quote}
   563       Für einige Attribute (primäre Adresse) ist nur ein Neusetzen
   357 
   564       möglich, für andere (z.B. Mailgruppen) auch eine kumulative
   358       Für einige Attribute ist eine kumulative Änderung möglich (z.B.
   565       Änderung.  Der Präfix \T{+} oder \T{-} ist wichtig, ohne den
   359       Hinzufügen von alternativen Namen), bei anderen (primary
   566       Präfix wird das Attribut \emph{genau\/} auf den angegebenen Wert
   360       Mailadresse) nur ein Verändern.  Der Präfix \T{+} oder \T{-} ist
   567       gesetzt:
   361       wichtig, ohne den Präfix wird das Attribut \emph{genau\/} auf den
   568 
   362       angegebenen Wert gesetzt:
   569       \Linux{\C{ma \U{account} \U{--modify} --also=+hans,-hh hans.hanson}}
   363 
   570       \Linux{\C{ma \U{account} \U{--modify} --also=h.hanson hans.hanson}}
   364       \begin{quote}
   571 
   365       \T{ma \U{account} \U{--modify} --also=+hans,-hh hans.hanson} \\
   572       Veränderbar sind die selben Optionen wie oben (Abschnitt \vref{ss:account}).\footnote{Außer die Mailbox-Option, das ist
   366       \T{ma \U{account} \U{--modify} --also=h.hanson hans.hanson}
       
   367       \end{quote}
       
   368 
       
   369       Veränderbar sind die selben Optionen wie oben
       
   370       (\ref{ss:account}).\footnote{Außer die Mailbox-Option, das ist
       
   371       noch nicht implementiert.}
   573       noch nicht implementiert.}
   372 
   574 
   373     \subsubsection{Löschen}
   575     \subsubsection{Löschen}
   374 
   576 
   375       \emph{Vorsicht.\/}  Es wird rigoros der komplette LDAP-Eintrag
   577       \fbox{\emph{Vorsicht.\/}  Es wird rigoros der komplette
   376       gelöscht!  Und bei Bedarf die Mailbox.
   578       LDAP-Eintrag gelöscht!  Und eventuell die Mailbox.}
   377 
   579 
   378       \begin{quote}
   580       \Linux{\C{ma \U{account} \U{--delete} hans.hanson}}
   379       \T{ma \U{account} \U{--delete} hans.hanson}\\
   581       \Linux{\C{ma \U{account} \U{--delete} --nombox hans.hanson}}
   380       \T{ma \U{account} \U{--delete} --nombox hans.hanson}\\
   582 
   381       \end{quote}
   583       Die zweite Zeile würde die Mailbox bestehen lassen.  Optionen gibt es keine weiteren.
   382 
       
   383       Die zweite Zeile würde die Mailbox bestehen lassen.
       
   384       Optionen gibt es keine weiteren.
       
   385 
   584 
   386   \subsection{Aliase}
   585   \subsection{Aliase}
   387 
   586 
       
   587     Die Aliase dienen der Zuordnung von einzelnen Funktionsadressen
       
   588     (\N{postmaster}) zu bestimmten Accounts.
       
   589 
   388     \subsubsection{Anzeigen}
   590     \subsubsection{Anzeigen}
   389 
   591 
   390       Alle vorhandenen Aliase werden in einem bequemen
   592       Alle vorhandenen bzw. ein Teil der Aliase werden in einem bequemen \F{/etc/aliases}-Format ausgegeben:
   391       \T{/etc/aliases}-Format ausgegeben:
   593 
   392 
   594       \Linux{\C{ma \U{alias} --list}}
   393       \begin{quote}
   595       \Linux{\C{ma \U{alias} --list 'h*'}}
   394       \T{ma \U{alias} --list} \\
   596 
   395       \T{ma \U{alias} --list `h*'}
   597       Alias, die über Mailgruppen-Zuordnungen erfolgen, sind duch einen
   396       \end{quote}
   598       \qq{$\Rightarrow$} statt des Doppelpunktes gekennzeichnet.
   397 
   599 
   398     \subsubsection{Anlegen}
   600     \subsubsection{Anlegen}
   399 
   601 
   400       Beim Anlegen wird der Eintrag nur gemacht, wenn er noch nicht
   602       Beim Anlegen wird der Eintrag nur gemacht, wenn er noch nicht vorhanden ist.
   401       vorhanden ist.
   603       Die Gruppenzuordnungen werden über den Account eines einzelnen
   402 
   604       Nutzers verändert.
   403       \begin{quote}
   605 
   404       \T{ma \U{alias} \U{--add} --members=hans,suse fam.ente}
   606       \Linux{\C{ma \U{alias} \U{--add} --members=hans,suse fam.ente}}
   405       \end{quote}
       
   406 
   607 
   407       Das trägt einen Alias \N{fam.ente} ein, der als Verteiler wirkt
   608       Das trägt einen Alias \N{fam.ente} ein, der als Verteiler wirkt
   408       und die Mails an \N{hans} und \N{suse} weiterleitet.
   609       und die Mails an \N{hans} und \N{suse} weiterleitet.
   409 
   610 
   410       Weitere Optionen gibt es nicht.
   611       Weitere Optionen gibt es nicht.
   411       
   612   
   412     \subsubsection{Verändern}
   613     \subsubsection{Verändern}
   413 
   614 
   414       Zum Verändern gilt das selbe wie schon in~\ref{ss:change} zu den
   615       Zum Verändern gilt das selbe wie schon in
   415       Accounts.  Hinzufügen von Mitgliedern und Entfernen von
   616       Abschnitt~\vref{ss:change} zu den Accounts.  Hinzufügen von
   416       Mitgliedern ist möglich.  Dabei sind auch \qq{Masseneintragungen}
   617       Mitgliedern und Entfernen von Mitgliedern ist möglich.  Dabei sind
   417       möglich:
   618       auch \qq{Masseneintragungen} möglich:
   418 
   619 
   419       \begin{quote}
   620       \Linux{\C{ma \U{alias} \U{--modify} --members=+big.brother '*'}}
   420       \T{ma \U{alias} \U{--modify} --members=+big.brother '*'}
       
   421       \end{quote}
       
   422 
   621 
   423     \subsubsection{Löschen}
   622     \subsubsection{Löschen}
   424 
   623 
   425       Der gesamt Alias-Eintrag wird entfernt.
   624       Der gesamt Alias-Eintrag wird entfernt.
   426 
   625 
   427       \begin{quote}
   626       \Linux{\C{ma \U{alias} \U{--delete} fam.ente}}
   428       \T{ma \U{alias} \U{--delete} fam.ente}
   627 
   429       \end{quote}
       
   430 
   628 
   431   \subsection{Shared Mailboxen}
   629   \subsection{Shared Mailboxen}
   432 
   630 
   433     \subsubsection{Anzeigen/Anlegen/Löschen}
   631     \subsubsection{Anzeigen/Anlegen/Löschen}
   434 
   632 
   435       Alle vorhandenen Shared Mailboxen können mit einem einfachen
   633       Alle vorhandenen Shared Mailboxen können mit einem einfachen
   436 
   634 
   437       \begin{quote}
   635       \Linux{\C{ma \U{shared} --list}}
   438       \T{ma \U{shared} --list} \\
   636       \Linux{\C{ma \U{shared} --list `h*'}}
   439       \T{ma \U{shared} --list `h*'}
       
   440       \end{quote}
       
   441 
   637 
   442       angezeigt werden.
   638       angezeigt werden.
   443       Anlegen und Löschen können mit \T{--add} bzw. \T{--del} erledigt werden.
   639       Anlegen und Löschen können mit \T{--add} bzw. \T{--del} erledigt werden.
   444 
   640 
   445       Die Zugriffsrechte zu den Mailboxen müssen derzeit per Hand geändert werden
   641       Die Zugriffsrechte zu den Mailboxen müssen derzeit per Hand geändert werden
   446       mit \T{cyradm}.
   642       mit \C{cyradm}.
   447 
   643 
   448 
   644 
   449 \section{Zugangsdaten}\label{p:Zugangsdaten}
   645 \section{Einstellungen für Clients}
   450 \index{Passwort}
   646 
   451 
   647   \begin{longtable}{lllr>{\raggedright}p{0.4\textwidth}}
   452   \subsection{LDAP}
   648     \bf Dienst &	& \bf Host & \bf Port & \bf Bemerkung \NL\hline
   453 
   649     \endhead
   454     \begin{tabular}{ll}
   650 
   455       Server:Port	    &	  mail.tcb.deutschepost.de:389 (Plain + STARTTLS)\\
   651     SMTP-Server & Post-Ausgang & daten.cms.de & 25 
   456 			    &	  mail.tcb.deutschepost.de:636 (SSL) \\
   652       & Authentifizierung ist notwenndig; TLS (nicht SSL!) ist notwendig \NL
   457       Base-DN		    &	  \T{dc=tcb,dc=deutschepost,dc=de} \\
   653 
   458       Admin-User (Bind-DN)  &	  \T{cn=admin,dc=tcb,dc=deutschepost,dc=de}\\
   654     POP3-Server & Post-Eingang  & daten.cms.de & 110
   459       Admin-Passwort	    &	  \T{anfang} \\
   655       & auf diesem Port ohne Verschlüsselung, wird früher oder später
   460     \end{tabular}
   656 	abgeschaltet, nicht aus dem Internet erreichbar \NL
   461 
   657 
   462   \subsection{IMAP}
   658     POP3s-Server & Post-Eingang  & daten.cms.de & 995
   463 
   659       & SSL-Verschlüsselung (nicht TLS!) \NL
   464     \begin{tabular}{ll}
   660 
   465       Server:Port	    &	  mail.tcb.deutschepost.de:143 \\
   661     IMAP-Server & Post-Eingang  & daten.cms.de & 143
   466       Admin-User	    &	  \T{cyrus} \\
   662       & auf diesem Port ohne Verschlüsselung, wird früher oder später
   467       Admin-Passwort	    &	  \T{anfang} \\
   663 	abgeschaltet, nicht aus dem Internet erreichbar  \NL
   468       Korrespondierender LDAP-Eintrag &	\T{uid=cyrus,ou=Cyrus,\dots} \\
   664 
   469     \end{tabular}
   665     IMAPs-Server & Post-Eingang  & daten.cms.de & 993
   470 
   666       & SSL-Verschlüsselung (nicht TLS!) \NL
   471   Um die nervigen Fragen nach Passworten\index{Passwort} für LDAP und IMAP zu umgehen,
   667 
   472   können die Passworte in Umgebungsvariablen abgelegt werden: \T{export
   668     Webmail-Server  & & \multicolumn{2}{l}{https://daten.cms.de/webmail} & \NL
       
   669 
       
   670     Listen-Server	  & Mail-Verteiler & \multicolumn{2}{l}{https://daten.cms.de/mailman} & \NL
       
   671 
       
   672   \end{longtable}
       
   673 
       
   674 \section{Zugangsdaten}
       
   675 \label{p:zugangsdaten}
       
   676 
       
   677   \begin{longtable}{ll}
       
   678     \bf Eigentschaft	& \bf Wert \NL\hline
       
   679     \endhead
       
   680 
       
   681     \multicolumn{2}{l}{\bf LDAP-Server} \NL
       
   682       Server:Port		&	  daten.cms.de:636 (ldaps) \\
       
   683       Base-DN			&	  \T{dc=cms,dc=de} \\
       
   684       Admin-User (Bind-DN)	&	  \T{cn=admin,dc=cms,dc=de} \\
       
   685       Admin-Passwort		&	  \T{x} \\[1em]
       
   686 
       
   687     \multicolumn{2}{l}{\bf IMAP-Server} \NL
       
   688 
       
   689       Server:Port		&	  daten.cms.de:143 (Klartext) \\
       
   690 				&	  daten.cms.de:993 (imaps) \\
       
   691 	Admin-User		&	  \T{cyrus} \\
       
   692 	Admin-Passwort		&	  \T{x} \\
       
   693 	Korrespondierender LDAP-Eintrag &	\T{uid=cyrus} \\
       
   694   \end{longtable}
       
   695 
       
   696   Um die nervigen Fragen nach Passworten für LDAP und IMAP zu umgehen,
       
   697   können für \C{ma} die Passworte in Umgebungsvariablen abgelegt werden: \T{export
   473   IMAP\_PASS=XXX} und \T{export LDAP\_PASS=XXX}.
   698   IMAP\_PASS=XXX} und \T{export LDAP\_PASS=XXX}.
   474 
   699 
   475 \printindex
   700 % \printindex
   476 
   701 
   477 \vfill
   702 \vfill
   478 Stand: \verb!$Id: manual.tex 1501 2005-11-04 06:22:25Z heiko $!\\
   703 Stand: \verb!$Id: manual.tex 1501 2005-11-04 06:22:25Z heiko $!\\
   479 Quelle: \verb!$URL: https://svn.schlittermann.de/is/mailAdmin/trunk/manual.tex $!
   704 Quelle: \verb!$URL: https://svn.schlittermann.de/is/mailAdmin/trunk/manual.tex $!
   480 
   705