This file is indexed.

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

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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<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&eacute;crit bri&eacute;vement la mise en place du
fichier de configuration de sendmail pour un acc&eacute;s
individuel &agrave; l'Internet via le r&eacute;seau
t&eacute;l&eacute;phonique commut&eacute;.</em>
<hr>
<h2><a name="s1">1. Introduction</a></h2>
<p>On suppose que votre acc&eacute;s &agrave; l'Internet repose sur
le principe le plus couramment rencontr&eacute; de nos jours : une
connexion au r&eacute;seau d'un fournisseur d'acc&eacute;s via une
liaison PPP au dessus d'une liaison s&eacute;rie. Le courrier qui
vous est destin&eacute; est r&eacute;cup&eacute;r&eacute;
aupr&eacute;s d'un serveur POP ou IMAP tandis que le courrier
sortant est transmis via SMTP. Comme vous ne poss&eacute;dez pas de
nom de domaine, tout doit transiter par la <em>m&ecirc;me</em>
adresse.</p>
<p>On suppose vous avez d&eacute;j&agrave; install&eacute; une
version r&eacute;cente du sendmail d'Eric Allman. A
l'&eacute;criture de ces lignes, la version courante est la 8.8.8.
Elle devrait fonctionner sans probl&egrave;mes.</p>
<p>Le texte fait parfois r&eacute;f&eacute;rence &agrave; certaines
sp&eacute;cificit&eacute;s des distributions GNU/Linux de Debian.
Les utilisateurs de syst&egrave;mes diff&eacute;rents
adapteront.</p>
<p>V&eacute;rifiez que vous disposez bien des informations
suivantes :</p>
<ul>
<li>Le nom du serveur de courrier de votre Fournisseur
d'Acc&eacute;s Internet</li>
<li>Votre adresse &eacute;lectronique</li>
</ul>
<p>On attend de la configuration &agrave; 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&eacute;finies au niveau du FAI ( et non les
adresses locales ! ).</li>
</ol>
<p>Pour atteindre cet objectif, on utilisera la
fonctionnalit&eacute; <code>genericstable</code> de sendmail.</p>
<h2><a name="s2">2. Fichiers impliqu&eacute;s</a></h2>
<p>On regroupe tous les fichiers de configuration de sendmail dans
un r&eacute;pertoire particulier sous <code>/etc</code> :
<code>/etc/mail</code>. Sendmail s'attendant &agrave; 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&eacute;mentaires</li>
<li><code>genericsdomain</code> - diverses informations sur la
configuration du syst&egrave;me</li>
<li><code>genericstable</code> - r&egrave;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&eacute;es
hach&eacute;es que sendmail utilise directement.</p>
<p>L'arborescence d'origine de sendmail est cens&eacute;e se
trouver en <code>/usr/lib/sendmail.cf</code> ainsi que c'est le cas
avec les distributions GNU/Linux Debian. Reportez vous &agrave; la
documentation de votre distribution si celle-ci diff&egrave;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&egrave;gles assez complexes. Bien que cela puisse s'av&eacute;rer
tr&eacute;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 &ecirc;tes motiv&eacute;, lancez vous dans la
lecture de la bible disponible chez O'Reilly.</p>
<p>Au lieu de forger &agrave; la main les r&egrave;gles, on utilise
le pr&eacute;-processeur de macros <code>m4</code> pour fabriquer
un fichier de configuration &agrave; partir des
&eacute;l&eacute;ments pr&eacute;ts &agrave; l'emploi qui sont
fournis avec sendmail.</p>
<p>Jetons un oeil sur les premi&egrave;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&egrave;s. Ceux que nous donnons ici
correspondent typiquement &agrave; un syst&egrave;me GNU/Linux
Debian. La macro <code>OSTYPE</code> positionne les valeurs par
d&eacute;faut de certaines variables. Si vous n'utilisez pas une
Debian, remplacez ici "debian" par "linux". <code>ALIAS_FILE</code>
fournit &agrave; sendmail l'emplacement du fichier d'alias.</p>
<p>Les lignes suivantes forcent l'utilisation des
fonctionnalit&eacute;s <code>genericstable</code> et
pr&eacute;cisent o&ugrave; trouver les fichiers n&eacute;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&eacute;clame qu'une mise en
forme du type en-t&ecirc;te soit appliqu&eacute;e &agrave;
l'enveloppe des messages &agrave; exp&eacute;dier. Est
concern&eacute;e l'adresse vers laquelle les agents de transport
ext&eacute;rieurs dirigeront leurs messages d'avertissement ou
leurs avis d'&eacute;checs. Les fichiers <code>generics*</code>
seront d&eacute;taill&eacute;s plus loin.
<p>A pr&eacute;sent, on d&eacute;finit un h&ocirc;te intelligent (
"smart agent" ), c'est &agrave; dire une machine capable de
g&eacute;rer le courrier sortant &agrave; notre place. Il ne s'agit
pas n&eacute;cessairement des serveurs POP ou IMAP de l'ISP. La
hotline vous aidera le cas &eacute;ch&eacute;ant &agrave; 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 &agrave; votre fournisseur
d'acc&eacute;s.
<p>Les deux derni&egrave;res lignes incluent les d&eacute;finitions
des "mailer" gr&acirc;ce auxquels sendmail d&eacute;termine comment
manipuler les diff&eacute;rents types de courrier :</p>
<hr>
<pre>
MAILER(local)
MAILER(smtp)
</pre>
<hr>
<p>Pour g&eacute;n&eacute;rer le fichier <code>sendmail.cf</code>
&agrave; partir du <code>sendmail.mc</code>, ex&eacute;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 &agrave; enregistrer la sortie de
<code>m4</code> dans un fichier temporaire avant de l'installer au
bon endroit. On &eacute;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&eacute;ciser &agrave; sendmail les adresses
&agrave; consid&eacute;rer comme locales. Pas de difficult&eacute;s
: rentrez le nom complet de votre machine dans le fichier
<code>/etc/mail/genericsdomain</code>. Pour obtenir ce nom,
ex&eacute;cutez la commande suivante :</p>
<hr>
<pre>
 $ hostname -f 
</pre>
<hr>
.
<p>Passons aux r&egrave;gles de re&eacute;criture proprement dites
: <code>/etc/mail/genericstable</code>. Ce fichier est form&eacute;
de deux colonnes s&eacute;par&eacute;es par des blancs. La
premi&egrave;re contient les adresses locales et la seconde les
adresses &eacute;lectroniques qui doivent &ecirc;tre
employ&eacute;es &agrave; la place. Le fichier devrait ressembler
&agrave; &ccedil;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&eacute;e pour <em>chaque</em> compte
sur la machine isol&eacute;e de fa&ccedil;on &agrave; ce que le
courrier sortant du syst&egrave;me comporte des informations
d'en-t&ecirc;te correctes.</p>
<p>Afin d'am&eacute;liorer les performances, sendmail n'utilise pas
directement ce fichier mais une version hach&eacute;e. Pour la
cr&eacute;er, ex&eacute;cutez la commande suivante :</p>
<hr>
<pre>
# makemap -r hash genericstable.db &lt; genericstable
</pre>
<hr>
<p>Notez que les r&egrave;gles issues de <code>genericstable</code>
ne s'appliquent <em>pas</em> au courrier local ni &agrave; celui
que vous recevez de l'ext&eacute;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&eacute;mentaires
qui ne sont valables que pour les messages locaux. Ceci
s'av&egrave;re utile pour les comptes de maintenance tels
<code>root</code> qui re&ccedil;oivent des messages
cr&eacute;&eacute;s automatiquement par le syst&egrave;me
d'exploitation.</p>
<p>Le point de d&eacute;part d'un <code>/etc/mail/aliases</code>
pourrait ressembler &agrave; &ccedil;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 &agrave; destination des
utilisateurs <code>root</code>, <code>news</code>,
<code>postmaster</code>, <code>mail</code>, et <code>www</code>
sont renvoy&eacute;s vers <code>francois</code>, tandis que ceux
pour <code>nobody</code> et <code>MAILER-DAEMON</code> seront
redirig&eacute;s vers le <code>/dev/null</code>.</p>
<p>De m&ecirc;me que le <code>genericstable</code>, le fichier
<code>aliases</code> peut contenir <em>beaucoup</em> de
donn&eacute;es. Comme il serait inefficace que sendmail utilise le
fichier texte tel quel, le m&eacute;canisme employ&eacute; pour le
<code>genericstable</code> s'applique encore : on
g&eacute;n&egrave;re une base de donn&eacute;es hach&eacute;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&eacute;f&eacute;rences</a></h2>
<p>Les sources de sendmail sont fournies avec une documentation
abondante. Lisez la donc, et &eacute;tudiez plus
particuli&egrave;rement le fichier <code>/cf/README</code>.</p>
<p>Si vous souhaitez explorer davantage les options de
configuration de sendmail, procurez vous la r&eacute;f&eacute;rence
en la mati&egrave;re par Bryan Costales, Eric Allman et Neil
Rickert : "Sendmail" ( O'Reilly, 1993 ).</p>
</body>
</html>