frames/konfiguration.tex
branchclt2015
changeset 30 ac1700753eea
parent 22 5c95d5a1d52c
child 32 9665201a64b5
equal deleted inserted replaced
29:f5fb56d00192 30:ac1700753eea
    17 \subsection{Struktur}
    17 \subsection{Struktur}
    18 
    18 
    19 \begin{frame}[<+->][fragile]{Konfiguration}{Struktur}
    19 \begin{frame}[<+->][fragile]{Konfiguration}{Struktur}
    20 Strukturiertes Konfigurationsfile mit mehreren Abschnitten, teilweise
    20 Strukturiertes Konfigurationsfile mit mehreren Abschnitten, teilweise
    21 miteinander verlinkt (Router referenziert Tranports, globaler Teil
    21 miteinander verlinkt (Router referenziert Tranports, globaler Teil
    22 referenziert ACL)
    22 referenziert ACL, ACL nutzt Router)
    23 \pause
    23 \pause
    24 \begin{small}
    24 \begin{small}
    25 \begin{verbatim}
    25 \begin{verbatim}
    26
    26
    27 	begin acl
    27 	begin acl
    30
    30
    31 \end{verbatim}
    31 \end{verbatim}
    32 \end{small}
    32 \end{small}
    33 \pause
    33 \pause
    34 \begin{description}
    34 \begin{description}
    35 	\item[global] knapp 240 allgemeine Direktiven
    35 	\item[(global)] etwa 250 allgemeine Direktiven
    36 	\item[acl] Access Control Lists für SMTP
    36 	\item[acl] Access Control Lists für SMTP
    37 	\item[routers] Routing-Regeln (genutzt auch von ACL)
    37 	\item[routers] Routing-Regeln (genutzt auch von ACL)
    38 	\item[transports] Transport-Mechanismen
    38 	\item[transports] Transport-Mechanismen
    39 	\item[retry] Regeln für Wiederholungsversuche
    39 	\item[retry] Regeln für Wiederholungsversuche
    40 	\item[rewrite] Adress-Manipulation in Envelope und Header
    40 	\item[rewrite] Adress-Manipulation in Envelope und Header
    45 \subsection{Syntax}
    45 \subsection{Syntax}
    46 
    46 
    47 \begin{frame}[fragile]{Konfiguration}{Syntax}
    47 \begin{frame}[fragile]{Konfiguration}{Syntax}
    48 \begin{block}{Macros, Kommentar, lange Zeilen}
    48 \begin{block}{Macros, Kommentar, lange Zeilen}
    49 \begin{verbatim}
    49 \begin{verbatim}
    50 	# Super!
    50 	# Kommentar sind Zeichen für schlechte Konfiguration :)
    51 	CF = /etc/exim4/
       
    52 	USER_BASE = ou=users,BASE
    51 	USER_BASE = ou=users,BASE
    53 	BASE = dc=example,dc=com
    52 	BASE = dc=example,dc=com
    54 	received_header_text = Received: ${if def:sender_rcvhost \
    53 	received_header_text = Received: ${if def:sender_rcvhost \
    55 	  from $sender_rcvhost\n\t}{${if def:sender_ident {from \
    54 	  from $sender_rcvhost\n\t}{${if def:sender_ident {from \
    56
    55
    80 \end{verbatim}
    79 \end{verbatim}
    81 \pause
    80 \pause
    82 \begin{description}
    81 \begin{description}
    83 \item[Variablen] \verb=$local_part=, \verb=${local_part}=
    82 \item[Variablen] \verb=$local_part=, \verb=${local_part}=
    84 \item[Operatoren] \verb=${md5:$local_part}=, \verb=${uc:$domain}=
    83 \item[Operatoren] \verb=${md5:$local_part}=, \verb=${uc:$domain}=
    85 \item[Manipulation] \verb=${sg{$local_part}{.laus}{XXX}}=
    84 \item[Funktionen] \verb=${sg{$local_part}{.laus}{XXX}}=
    86 \item[Bedingungen] \verb=${if eq{$local_part}{x}{~/mbox}{~/.mail}}=
    85 \item[Bedingungen] \verb=${if eq{$local_part}{x}{~/mbox}{~/.mail}}=
    87 \item[Key-Lookup] \verb=${lookup{$local_part}lsearch{/etc/aliases}}=
    86 \item[Lookup (Key)] \verb=${lookup{$local_part}lsearch{/etc/aliases}}=
    88 \item[Query-Lookup] \verb+${lookup dnsdb{mx=example.com}}+
    87 \item[Lookup (Query)] \verb=${lookup psql{SELECT …}}=
    89 \end{description}
    88 \end{description}
    90 \end{frame}
    89 \end{frame}
    91 
    90 
    92 \begin{frame}[fragile]{String-Expansion}{Wenn nichts mehr geht}
    91 \begin{frame}[fragile]{String-Expansion}{Wenn nichts mehr geht}
    93 Als letzte Hilfe gibt es die Möglichkeit, Sockets auszulesen, Perl zu
    92 Als letzte Hilfe gibt es die Möglichkeit, Sockets auszulesen, Perl zu
    97 	${readsocket{<socket>}{<request>}}
    96 	${readsocket{<socket>}{<request>}}
    98 	${run{<command>[<arg>]…}}
    97 	${run{<command>[<arg>]…}}
    99 	${perl{<sub>}[{<arg>}…]}
    98 	${perl{<sub>}[{<arg>}…]}
   100 \end{verbatim}
    99 \end{verbatim}
   101 \pause
   100 \pause
   102 \begin{block}{Greylisting}
   101 \begin{block}{Beispiel: Greylisting}
   103 \begin{verbatim}
   102 \begin{verbatim}
       
   103 	# source: http://schlittermann.de/doc/grey
   104 	GREYKEY = $sender_address/$local_part@$domain
   104 	GREYKEY = $sender_address/$local_part@$domain
   105 	perl_startup = do '/etc/exim4/exim-exigrey.pl'
   105 	# sub unseen() from perl script
       
   106 	perl_startup = do '/etc/exim4/exim-exigrey.pm'
   106 	acl_smtp_rcpt = acl_check_rcpt
   107 	acl_smtp_rcpt = acl_check_rcpt
   107
   108
   108 	begin acl
   109 	begin acl
   109 	  cl_check_rcpt:
   110 	  cl_check_rcpt:
   110
   111