This file is indexed.

/usr/share/doc/HOWTO/fr-html/Sendmail-Address-Rewrite.html is in doc-linux-fr-html 2013.01-3ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.2.0">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.72">
<title>sendmail address rewriting mini-HOWTO</title>
</head>
<body>
<h1>sendmail address rewriting mini-HOWTO</h1>
<h2>Thomas Roessler, roessler@guug.de</h2>
v0.0, 6 May 1998
<hr>
<em>Ce document décrit briévement la mise en place du fichier de
configuration de sendmail pour un accés individuel à l'Internet via
le réseau téléphonique commuté.</em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p>On suppose que votre accés à l'Internet repose sur le principe
le plus couramment rencontré de nos jours : une connexion au réseau
d'un fournisseur d'accés via une liaison PPP au dessus d'une
liaison série. Le courrier qui vous est destiné est récupéré auprés
d'un serveur POP ou IMAP tandis que le courrier sortant est
transmis via SMTP. Comme vous ne possédez pas de nom de domaine,
tout doit transiter par la <em>même</em> adresse.</p>
<p>On suppose vous avez déjà installé une version récente du
sendmail d'Eric Allman. A l'écriture de ces lignes, la version
courante est la 8.8.8. Elle devrait fonctionner sans problèmes.</p>
<p>Le texte fait parfois référence à certaines spécificités des
distributions GNU/Linux de Debian. Les utilisateurs de systèmes
différents adapteront.</p>
<p>Vérifiez que vous disposez bien des informations suivantes :</p>
<ul>
<li>Le nom du serveur de courrier de votre Fournisseur d'Accés
Internet</li>
<li>Votre adresse électronique</li>
</ul>
<p>On attend de la configuration à venir :</p>
<ol>
<li>que l'envoi de courrier entre utilisateurs locaux soit
possible,</li>
<li>que le reste de l'Internet voit les adresses des utilisateurs
telles qu'elles sont définies au niveau du FAI ( et non les
adresses locales ! ).</li>
</ol>
<p>Pour atteindre cet objectif, on utilisera la fonctionnalité
<code>genericstable</code> de sendmail.</p>
<h2><a name="s2">2. Fichiers impliqués</a></h2>
<p>On regroupe tous les fichiers de configuration de sendmail dans
un répertoire particulier sous <code>/etc</code> :
<code>/etc/mail</code>. Sendmail s'attendant à les trouver en
<code>/etc</code>, <code>/etc/sendmail.cf</code> sera un lien
symbolique vers <code>/etc/mail/sendmail.cf</code>.</p>
<p>On trouvera dans <code>/etc/mail</code> :</p>
<ul>
<li><code>aliases</code> - des adresses supplémentaires</li>
<li><code>genericsdomain</code> - diverses informations sur la
configuration du système</li>
<li><code>genericstable</code> - règles de traduction</li>
<li><code>sendmail.cf</code> - fichier de configuration de
sendmail</li>
<li><code>sendmail.mc</code> - la matrice du
<code>sendmail.cf</code>.</li>
</ul>
<p>Certains de ces fichiers s'accompagnent de fichiers
<code>.db</code> contenant les bases de données hachées que
sendmail utilise directement.</p>
<p>L'arborescence d'origine de sendmail est censée se trouver en
<code>/usr/lib/sendmail.cf</code> ainsi que c'est le cas avec les
distributions GNU/Linux Debian. Reportez vous à la documentation de
votre distribution si celle-ci diffère.</p>
<h2><a name="s3">3. Configuration de sendmail</a></h2>
<h2><a name="ss3.1">3.1 Le fichier de configuration
principal</a></h2>
<p>La configuration de Sendmail repose sur un ensemble de règles
assez complexes. Bien que cela puisse s'avérer trés puissant, il
n'est pas courant de fabriquer ex-nihilo un
<code>sendmail.cf</code>. Il faudrait de surcroit y passer pas mal
de temps. Si vous êtes motivé, lancez vous dans la lecture de la
bible disponible chez O'Reilly.</p>
<p>Au lieu de forger à la main les règles, on utilise le
pré-processeur de macros <code>m4</code> pour fabriquer un fichier
de configuration à partir des éléments préts à l'emploi qui sont
fournis avec sendmail.</p>
<p>Jetons un oeil sur les premières lignes du
<code>sendmail.mc</code> :</p>
<hr>
<pre>
include(/usr/lib/sendmail.cf/m4/cf.m4)
VERSIONID(`sendmail.mc - roessler@guug.de')
OSTYPE(debian)
define(`ALIAS_FILE',`/etc/mail/aliases')
</pre>
<hr>
<p>Tout d'abord, on inclut <code>cf.m4</code>. Ce fichier m4
contient de nombreuses macros utiles pour la suite. Ne vous trompez
pas dans les chemins d'accès. Ceux que nous donnons ici
correspondent typiquement à un système GNU/Linux Debian. La macro
<code>OSTYPE</code> positionne les valeurs par défaut de certaines
variables. Si vous n'utilisez pas une Debian, remplacez ici
"debian" par "linux". <code>ALIAS_FILE</code> fournit à sendmail
l'emplacement du fichier d'alias.</p>
<p>Les lignes suivantes forcent l'utilisation des fonctionnalités
<code>genericstable</code> et précisent où trouver les fichiers
nécessaires :</p>
<hr>
<pre>
FEATURE(masquerade_envelope) 
FEATURE(genericstable, `hash -o /etc/mail/genericstable')
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain') 
</pre>
<hr>
<code>masquerade_envelope</code> réclame qu'une mise en forme du
type en-tête soit appliquée à l'enveloppe des messages à expédier.
Est concernée l'adresse vers laquelle les agents de transport
extérieurs dirigeront leurs messages d'avertissement ou leurs avis
d'échecs. Les fichiers <code>generics*</code> seront détaillés plus
loin.
<p>A présent, on définit un hôte intelligent ( "smart agent" ),
c'est à dire une machine capable de gérer le courrier sortant à
notre place. Il ne s'agit pas nécessairement des serveurs POP ou
IMAP de l'ISP. La hotline vous aidera le cas échéant à dissiper les
doutes.</p>
<hr>
<pre>
define(`SMART_HOST',`relai-de-sortie.mon.fournisseur')
</pre>
<hr>
Remplacez <em>relai-de-sortie.mon.fournisseur</em> par le nom
complet ( FQDN ) correspondant à votre fournisseur d'accés.
<p>Les deux dernières lignes incluent les définitions des "mailer"
grâce auxquels sendmail détermine comment manipuler les différents
types de courrier :</p>
<hr>
<pre>
MAILER(local)
MAILER(smtp)
</pre>
<hr>
<p>Pour générer le fichier <code>sendmail.cf</code> à partir du
<code>sendmail.mc</code>, exécutez les commandes suivantes en tant
qu'utilisateur root :</p>
<hr>
<pre>
# m4 sendmail.mc &gt; _sendmail.cf
# mv -f _sendmail.cf sendmail.cf
</pre>
<hr>
Notez la technique qui consiste à enregistrer la sortie de
<code>m4</code> dans un fichier temporaire avant de l'installer au
bon endroit. On évite ainsi que sendmail ne lise des fichiers de
configuration incomplets !
<h2><a name="ss3.2">3.2 Modification des adresses</a></h2>
<p>On commence par préciser à sendmail les adresses à considérer
comme locales. Pas de difficultés : rentrez le nom complet de votre
machine dans le fichier <code>/etc/mail/genericsdomain</code>. Pour
obtenir ce nom, exécutez la commande suivante :</p>
<hr>
<pre>
 $ hostname -f 
</pre>
<hr>
.
<p>Passons aux règles de reécriture proprement dites :
<code>/etc/mail/genericstable</code>. Ce fichier est formé de deux
colonnes séparées par des blancs. La première contient les adresses
locales et la seconde les adresses électroniques qui doivent être
employées à la place. Le fichier devrait ressembler à ça :</p>
<hr>
<pre>
harry   harryx@mon.fai
maude   maudey@son.fai
root    francois@mon.fai
news    francois@mon.fai
</pre>
<hr>
<p>Il devrait y avoir une entrée pour <em>chaque</em> compte sur la
machine isolée de façon à ce que le courrier sortant du système
comporte des informations d'en-tête correctes.</p>
<p>Afin d'améliorer les performances, sendmail n'utilise pas
directement ce fichier mais une version hachée. Pour la créer,
exécutez la commande suivante :</p>
<hr>
<pre>
# makemap -r hash genericstable.db &lt; genericstable
</pre>
<hr>
<p>Notez que les règles issues de <code>genericstable</code> ne
s'appliquent <em>pas</em> au courrier local ni à celui que vous
recevez de l'extérieur. La traduction n'a lieu que si un message
est transmis au relai de votre FAI.</p>
<h2><a name="ss3.3">3.3 Alias</a></h2>
<p>Le fichier d'alias contient des adresses supplémentaires qui ne
sont valables que pour les messages locaux. Ceci s'avère utile pour
les comptes de maintenance tels <code>root</code> qui reçoivent des
messages créés automatiquement par le système d'exploitation.</p>
<p>Le point de départ d'un <code>/etc/mail/aliases</code> pourrait
ressembler à ça :</p>
<hr>
<pre>
root: francois 
news: root
postmaster: root
mail: root
www: root

nobody: /dev/null
MAILER-DAEMON: nobody
</pre>
<hr>
<p>Dans l'exemple ci-dessus, le courrier à destination des
utilisateurs <code>root</code>, <code>news</code>,
<code>postmaster</code>, <code>mail</code>, et <code>www</code>
sont renvoyés vers <code>francois</code>, tandis que ceux pour
<code>nobody</code> et <code>MAILER-DAEMON</code> seront redirigés
vers le <code>/dev/null</code>.</p>
<p>De même que le <code>genericstable</code>, le fichier
<code>aliases</code> peut contenir <em>beaucoup</em> de données.
Comme il serait inefficace que sendmail utilise le fichier texte
tel quel, le mécanisme employé pour le <code>genericstable</code>
s'applique encore : on génère une base de données hachée. Au lieu
de la commande <code>makemap</code>, rentrez cette fois la commande
<code>newaliases</code>. Tout fonctionne automagiquement.</p>
<h2><a name="s4">4. Références</a></h2>
<p>Les sources de sendmail sont fournies avec une documentation
abondante. Lisez la donc, et étudiez plus particulièrement le
fichier <code>/cf/README</code>.</p>
<p>Si vous souhaitez explorer davantage les options de
configuration de sendmail, procurez vous la référence en la matière
par Bryan Costales, Eric Allman et Neil Rickert : "Sendmail" (
O'Reilly, 1993 ).</p>
</body>
</html>