]> granicus.if.org Git - apache/blob - docs/manual/suexec.html.fr
update transformation
[apache] / docs / manual / suexec.html.fr
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>Support suEXEC - Serveur Apache HTTP</title>
9 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
15 <p class="apache">Serveur Apache HTTP Version 2.3</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
18 <div id="path">
19 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.3</a></div><div id="page-content"><div id="preamble"><h1>Support suEXEC</h1>
20 <div class="toplang">
21 <p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
22 <a href="./fr/suexec.html" title="Français">&nbsp;fr&nbsp;</a> |
23 <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
24 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
25 <a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
26 </div>
27
28     <p>La fonctionnalité <strong>suEXEC</strong> permet
29     l'exécution des programmes <strong>CGI</strong> et
30     <strong>SSI</strong> sous un utilisateur autre que celui sous
31     lequel s'exécute le serveur web qui appelle ces programmes.
32     Normalement, lorsqu'un programme CGI ou SSI est lancé, il
33     s'exécute sous le même utilisateur que celui du serveur web qui
34     l'appelle.</p>
35
36     <p>Utilisée de manière appropriée, cette fonctionnalité peut
37     réduire considérablement les risques de sécurité encourus
38     lorsqu'on autorise les utilisateurs à développer et faire
39     s'exécuter des programmes CGI ou SSI de leur cru. Cependant, mal
40     configuré, suEXEC peut causer de nombreux problèmes et même créer
41     de nouvelles failles dans la sécurité de votre ordinateur. Si
42     vous n'êtes pas familier avec la gestion des programmes
43     <em>setuid root</em> et les risques de sécurité qu'ils comportent,
44     nous vous recommandons vivement de ne pas tenter
45     d'utiliser suEXEC.</p>
46   </div>
47 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">Avant de commencer</a></li>
48 <li><img alt="" src="./images/down.gif" /> <a href="#model">Modèle de sécurité de suEXEC</a></li>
49 <li><img alt="" src="./images/down.gif" /> <a href="#install">Configurer et installer suEXEC</a></li>
50 <li><img alt="" src="./images/down.gif" /> <a href="#enable">Activation et désactivation
51 de suEXEC</a></li>
52 <li><img alt="" src="./images/down.gif" /> <a href="#usage">Utilisation de suEXEC</a></li>
53 <li><img alt="" src="./images/down.gif" /> <a href="#debug">Débogage de suEXEC</a></li>
54 <li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Avis à la population !
55     Avertissements et exemples</a></li>
56 </ul></div>
57 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
58 <div class="section">
59 <h2><a name="before" id="before">Avant de commencer</a></h2>
60
61     <p>Avant de foncer tête baissée dans la lecture de ce document,
62     vous devez tenir compte des hypothèses faites par le Groupe
63     Apache et dans ce document.</p>
64
65     <p>Premièrement, vous devez utiliser un système d'exploitation
66     UNIX ou dérivé, capable d'effectuer des opérations
67     <strong>setuid</strong> et <strong>setgid</strong>. Tous les
68     exemples de commande sont donnés en conséquence. D'autres
69     plates-formes, même si elles supportent suEXEC, peuvent
70     avoir une configuration différente.</p>
71
72     <p>Deuxièmement, vous devez être familier avec les concepts de base
73     relatifs à la sécurité de votre ordinateur et son administration.
74     Ceci implique la compréhension des opérations
75     <strong>setuid/setgid</strong> et des différents effets qu'elles
76     peuvent produire sur votre système et son niveau de sécurité.</p>
77
78     <p>Troisièmement, vous devez utiliser une version
79     <strong>non modifiée</strong> du code de suEXEC. L'ensemble du
80     code de suEXEC a été scruté et testé avec soin par les développeurs
81     et de nombreux bêta testeurs. Toutes les précautions ont été prises
82     pour s'assurer d'une base sûre de code non seulement simple, mais
83     aussi solide. La modification de ce code peut causer des problèmes
84     inattendus et de nouveaux risques de sécurité. Il est
85     <strong>vivement</strong> recommandé de ne pas modifier le code de
86     suEXEC, à moins que vous ne soyez un programmeur spécialiste des
87     particularités liées à la sécurité, et souhaitez partager votre
88     travail avec le Groupe Apache afin de pouvoir en discuter.</p>
89
90     <p>Quatrièmement et dernièrement, le Groupe Apache a décidé de ne
91     <strong>PAS</strong> inclure suEXEC dans l'installation par défaut
92     d'Apache. Pour pouvoir mettre en oeuvre suEXEC, l'administrateur
93     doit porter la plus grande attention aux détails. Après avoir bien
94     réfléchi aux différents points de la configuration de suEXEC,
95     l'administrateur peut l'installer selon les méthodes classiques.
96     Les valeurs des paramètres de configuration doivent être
97     déterminées et spécifiées avec soin par l'administrateur, afin de
98     maintenir la sécurité du système de manière appropriée lors de
99     l'utilisation de la fonctionnalité suEXEC. C'est par le biais de
100     ce processus minutieux que le Groupe Apache espère réserver
101     l'installation de suEXEC aux administrateurs prudents et
102     suffisamment déterminés à vouloir l'utiliser.</p>
103
104     <p>Vous êtes encore avec nous ? Oui ? Bien.
105     Alors nous pouvons continuer !</p>
106 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
107 <div class="section">
108 <h2><a name="model" id="model">Modèle de sécurité de suEXEC</a></h2>
109
110     <p>Avant d'installer et configurer suEXEC, nous allons tout d'abord
111     décrire le modèle de sécurité que vous êtes sur le point
112     d'implémenter. Vous devriez ainsi mieux comprendre ce qui se passe
113     vraiment à l'intérieur de suEXEC et quelles précautions ont été
114     prises pour préserver la sécurité de votre système.</p>
115
116     <p><strong>suEXEC</strong> est basé sur un programme "conteneur"
117     (wrapper) setuid qui est appelé par le serveur web Apache principal.
118     Ce conteneur est appelé quand une requête HTTP concerne
119     un programme CGI ou SSI que l'administrateur
120     a décidé de faire s'exécuter
121     sous un utilisateur autre que celui du serveur principal.
122     Lorsqu'il reçoit une telle requête, Apache fournit au conteneur
123     suEXEC le nom du programme, ainsi que les identifiants utilisateur
124     et groupe sous lesquels le programme doit s'exécuter.</p>
125
126     <p>Le conteneur effectue ensuite les vérifications suivantes afin
127     de déterminer la réussite ou l'échec du processus -- si une seule
128     de ces conditions n'est pas vérifiée, le programme journalise
129     l'erreur et se termine en retournant un code d'erreur, sinon il
130     continue :</p>
131
132     <ol>
133       <li>
134         <strong>L'utilisateur qui exécute le conteneur est-il un
135         utilisateur valide de ce système ?</strong>
136
137         <p class="indent">
138           Ceci permet de s'assurer que l'utilisateur qui exécute le
139           conteneur est vraiment un utilisateur appartenant au système.
140         </p>
141      </li>
142
143      <li>
144         <strong>Le conteneur a-t-il été appelé avec un nombre
145         d'arguments correct ?</strong>
146
147         <p class="indent">
148           Le conteneur ne s'exécutera que si on lui fournit un nombre
149           d'arguments correct. Le serveur web apache sait quel est le
150           bon format des arguments. Si le conteneur ne reçoit pas un
151           nombre d'arguments correct, soit il a été modifié,
152           soit quelque chose ne va pas dans la portion suEXEC de
153           votre binaire Apache.
154         </p>
155       </li>
156
157       <li>
158         <strong>Cet utilisateur valide est-il autorisé à exécuter le
159         conteneur ?</strong>
160
161         <p class="indent">
162           Cet utilisateur est-il celui autorisé à exécuter le
163           conteneur ? Un seul utilisateur (celui d'Apache) est
164           autorisé à exécuter ce programme.
165         </p>
166       </li>
167
168       <li>
169         <strong>Le chemin du programme CGI ou SSI cible est-il
170         non sûr ?</strong>
171
172         <p class="indent">
173           Le chemin du programme CGI ou SSI cible débute-t-il par un
174           '/' ou contient-il une référence arrière '..' ? Ceci est
175           interdit ; le programme CGI ou SSI cible doit se trouver dans
176           la hiérarchie de la racine des documents de suEXEC (voir
177           <code>--with-suexec-docroot=<em>DIR</em></code> ci-dessous).
178         </p>
179       </li>
180
181       <li>
182         <strong>Le nom utilisateur cible est-il valide ?</strong>
183
184         <p class="indent">
185           L'utilisateur cible existe-t-il ?
186         </p>
187       </li>
188
189       <li>
190         <strong>Le nom du groupe cible est-il valide ?</strong>
191
192         <p class="indent">
193           Le groupe cible existe-t-il ?
194         </p>
195       </li>
196
197       <li>
198         <strong>L'utilisateur cible n'est-il <em>PAS</em>
199         superutilisateur ?</strong>
200
201
202         <p class="indent">
203           Actuellement, suEXEc ne permet pas à
204           <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
205         </p>
206       </li>
207
208       <li>
209         <strong>Le numéro de l'identifiant de l'utilisateur cible
210         est-il <em>SUPERIEUR</em> au numéro d'identifiant
211         minimum ?</strong>
212
213         <p class="indent">
214           Le numéro d'identifiant utilisateur minimum est défini à
215           l'exécution du script configure. Ceci vous permet de définir
216           le numéro d'identifiant utilisateur le plus bas qui sera
217           autorisé à éxécuter des programmes CGI/SSI. En particulier,
218           cela permet d'écarter les comptes système.
219         </p>
220       </li>
221
222       <li>
223         <strong>Le groupe cible n'est-il <em>PAS</em> le groupe
224         superutilisateur ?</strong>
225
226         <p class="indent">
227           Actuellement, suEXEC ne permet pas au groupe
228           <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
229         </p>
230       </li>
231
232       <li>
233         <strong> Le numéro d'identifiant du groupe cible est-il
234         <em>SUPERIEUR</em> au numéro d'identifiant minimum ?</strong>
235
236         <p class="indent">
237           Le numéro d'identifiant de groupe minimum est spécifié lors
238           de l'exécution du script configure. Ceci vous permet de
239           définir l'identifiant de groupe le plus bas possible qui sera
240           autorisé à exécuter des programmes CGI/SSI, et est
241           particulièrement utile pour écarter les groupes "système".
242         </p>
243       </li>
244
245       <li>
246         <strong>Le conteneur peut-il obtenir avec succès l'identité
247         des utilisateur et groupe cibles ?</strong>
248
249         <p class="indent">
250           C'est ici que le programme obtient l'identité des utilisateur
251           et groupe cibles via des appels à setuid et setgid. De même,
252           la liste des accès groupe est initialisée avec tous les
253           groupes auxquels l'utilisateur cible appartient.
254         </p>
255       </li>
256
257       <li>
258         <strong>Peut-on se positionner dans le répertoire dans dequel
259         sont situés les programmes CGI/SSI ?</strong>
260
261         <p class="indent">
262           S'il n'existe pas, il ne peut pas contenir de fichier. Et si
263           l'on ne peut pas s'y positionner, il n'existe probablement
264           pas.
265         </p>
266       </li>
267
268       <li>
269         <strong>Le répertoire est-il dans l'espace web
270         d'Apache ?</strong>
271
272         <p class="indent">
273           Si la requête concerne une portion de la racine du serveur,
274           le répertoire demandé est-il dans la hiérarchie de la racine
275           des documents de suEXEC ? Si la requête concerne un
276          <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>, le répertoire demandé est-il dans
277           la hiérarchie du répertoire défini comme le répertoire
278           utilisateur de suEXEC (voir les
279           <a href="#install">options de configuration de suEXEC</a>) ?
280         </p>
281       </li>
282
283       <li>
284         <strong>L'écriture dans le répertoire est-elle interdite pour
285         un utilisateur autre que le propriétaire </strong>
286
287         <p class="indent">
288           Le répertoire ne doit pas être ouvert aux autres
289           utilisateurs ; seul l'utilisateur propriétaire doit pouvoir
290           modifier le contenu du répertoire.
291         </p>
292       </li>
293
294       <li>
295         <strong>Le programme CGI/SSI cible existe-t-il ?</strong>
296
297         <p class="indent">
298           S'il n'existe pas, il ne peut pas être exécuté.
299         </p>
300       </li>
301
302       <li>
303         <strong>Les utilisateurs autres que le propriétaire n'ont-ils
304         <em>PAS</em> de droits en écriture sur le programme
305         CGI/SSI ?</strong>
306
307         <p class="indent">
308           Les utilisateurs autres que le propriétaire ne doivent pas
309           pouvoir modifier le programme CGI/SSI.
310         </p>
311       </li>
312
313       <li>
314         <strong>Le programme CGI/SSI n'est-il <em>PAS</em> setuid ou
315         setgid ?</strong>
316
317         <p class="indent">
318           Les programmes cibles ne doivent pas pouvoir modifier à
319           nouveau les identifiants utilisateur/groupe.
320         </p>
321       </li>
322
323       <li>
324         <strong>Le couple utilisateur/groupe cible est-il le même que
325         celui du programme ?</strong>
326
327         <p class="indent">
328           L'utilisateur est-il le propriétaire du fichier ?
329         </p>
330       </li>
331
332       <li>
333         <strong>Peut-on nettoyer avec succès l'environnement des
334         processus afin de garantir la sûreté des opérations ?</strong>
335
336         <p class="indent">
337           suExec nettoie l'environnement des processus en établissant
338           un chemin d'exécution sûr (défini lors de la configuration),
339           et en ne passant que les variables dont les noms font partie
340           de la liste de l'environnement sûr (créée de même lors de la
341           configuration).
342         </p>
343       </li>
344
345       <li>
346         <strong>Le conteneur peut-il avec succès se substituer au
347         programme CGI/SSI cible et s'exécuter ?</strong>
348
349         <p class="indent">
350           C'est là où l'exécution de suEXEC s'arrête et où commence
351           celle du programme CGI/ssi cible.
352         </p>
353       </li>
354     </ol>
355
356     <p>Ce sont les opérations standards effectuées par le modèle de
357     sécurité du conteneur suEXEC. Il peut paraître strict et est
358     susceptible d'imposer de nouvelles limitations et orientations
359     dans la conception des programmes CGI/SSI, mais il a été développé
360     avec le plus grand soin, étape par étape, en se focalisant sur
361     la sécurité.</p>
362
363     <p>Pour plus d'informations sur la mesure dans laquelle ce modèle
364     de sécurité peut limiter vos possibilités au regard de la
365     configuration du serveur, ainsi que les risques de sécurité qui
366     peuvent être évités grâce à une configuration appropriée de suEXEC,
367     se référer à la section <a href="#jabberwock">"Avis à la population !"</a> de ce document.</p>
368 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
369 <div class="section">
370 <h2><a name="install" id="install">Configurer et installer suEXEC</a></h2>
371
372     <p>C'est ici que nous entrons dans le vif du sujet.</p>
373
374     <p><strong>Options de configuration de suEXEC</strong><br />
375     </p>
376
377     <dl>
378       <dt><code>--enable-suexec</code></dt>
379
380       <dd>Cette option active la fonctionnalité suEXEC qui n'est
381       jamais installée ou activée par défaut. Au moins une option
382       <code>--with-suexec-xxxxx</code> doit accompagner l'option
383       <code>--enable-suexec</code> pour qu'APACI (l'utilitaire de
384       configuration de la compilation d'Apache) accepte votre demande
385       d'utilisation de la fonctionnalité suEXEC.</dd>
386
387       <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
388
389       <dd>Le chemin du binaire <code>suexec</code> doit être codé en
390       dur dans le serveur pour des raisons de sécurité. Cette option
391       vous permet de modifier le chemin par défaut.
392       <em>Par exemple</em>
393       <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
394
395       <dt><code>--with-suexec-caller=<em>UID</em></code></dt>
396
397       <dd>L'<a href="mod/mpm_common.html#user">utilisateur</a> sous
398       lequel Apache s'exécute habituellement. C'est le seul utilisateur
399       autorisé à utiliser suexec.</dd>
400
401       <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
402
403       <dd>Cette option définit le sous-répertoire de la hiérarchie des
404       répertoires utilisateurs dans lequel l'utilisation
405       de suEXEC sera autorisée. Tous les exécutables situés dans ce
406       répertoire seront exécutables par suEXEC sous l'utilisateur
407       cible ; ces programmes doivent donc être sûrs. Si vous utilisez
408       une directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
409       "simple" (c'est à dire ne contenant pas de
410       "*"), l'option --with-suexec-userdir
411       devra contenir la même valeur. SuEXEC ne fonctionnera pas
412       correctement si la directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> contient une valeur
413       différente du répertoire home de l'utilisateur tel qu'il est
414       défini dans le fichier <code>passwd</code>. la valeur par défaut
415       est "<code>public_html</code>".<br />
416       Si vous avez plusieurs hôtes virtuels avec une directive
417       <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> différente
418       pour chacun d'entre eux, vous devrez faire en sorte que chaque
419       UserDir possède un répertoire parent commun ; donnez alors à
420       l'option --with-suexec-userdir le nom
421       de ce répertoire commun. <strong>Si tout ceci n'est pas défini
422       correctement, les requêtes CGI "~userdir" ne fonctionneront
423       pas !</strong></dd>
424
425       <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
426
427       <dd>Cette option fonctionne comme la directive DocumentRoot pour
428       Apache. Il s'agit de la seule hiérarchie (en dehors des directives
429       <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>) dans laquelle la fonctionnalité suEXEC
430       pourra être utilisée. La valeur par défaut est la valeur de
431       <code>--datadir</code> accompagnée du suffixe
432       "<code>/htdocs</code>" ;
433       <em>Par exemple</em>, si vous exécutez configure avec
434       "<code>--datadir=/home/apache</code>", la valeur
435       "<code>/home/apache/htdocs</code>" sera utilisée par défaut comme
436       racine des documents pour le conteneur suEXEC.</dd>
437
438       <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
439
440       <dd>Cette option définit l'identifiant utilisateur le plus bas
441       avec lequel un utilisateur pourra être la cible de
442       suEXEC. 500 ou 100 sont des valeurs courantes sur la plupart des
443       systèmes. la valeur par défaut est 100.</dd>
444
445       <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
446
447       <dd>Cette option définit l'identifiant de groupe le plus bas
448       avec lequel un utilisateur pourra être la cible de
449       suEXEC. 100 est une valeur courante sur la plupart des
450       systèmes et est par conséquent la valeur par défaut.</dd>
451
452       <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
453
454       <dd>Cette option permet de définir le fichier dans lequel
455       toutes les transactions et erreurs de suEXEC seront journalisées
456       (à des fins d'analyse ou de débogage). Par défaut, le fichier
457       journal se nomme "<code>suexec_log</code>" et se trouve dans votre
458       répertoire standard des fichiers journaux défini par
459       <code>--logfiledir</code></dd>
460
461       <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
462
463       <dd>Cette option permet de définir une variable d'environnement
464       PATH sûre à passer aux exécutables CGI. La valeur par défaut
465       est "<code>/usr/local/bin:/usr/bin:/bin</code>".</dd>
466     </dl>
467
468     <h3>Compilation et installation du conteneur suEXEC</h3>
469       
470
471     <p>Si vous avez activé la fonctionnalité suEXEC à l'aide de
472      l'option <code>--enable-suexec</code>, le binaire
473      <code>suexec</code> sera automatiquement construit (en même temps
474      qu'Apache) lorsque vous exécuterez la commande
475      <code>make</code>.</p>
476
477      <p>Lorsque tous les composants auront été construits, vous pourrez
478      exécuter la commande <code>make install</code> afin de les
479      installer. Le binaire <code>suexec</code> sera installé dans le
480      répertoire défini à l'aide de l'option <code>--sbindir</code>. La
481      localisation par défaut est "/usr/local/apache2/bin/suexec".</p>
482      <p>Veuillez noter que vous aurez besoin des
483      <strong><em>privilèges root</em></strong> pour passer l'étape de
484      l'installation. Pour que le conteneur puisse changer
485      l'identifiant utilisateur, il doit avoir comme propriétaire
486      <code><em>root</em></code>, et les droits du fichier doivent
487      inclure le bit d'exécution setuserid.</p>
488    
489
490    <h3>&gt;Mise en place de permissions pour
491     paranoïaque</h3>
492         
493     <p>Bien que le conteneur suEXEC vérifie que l'utilisateur qui
494     l'appelle correspond bien à l'utilisateur spécifié à l'aide de
495     l'option <code>--with-suexec-caller</code> du programme
496     <code class="program"><a href="./programs/configure.html">configure</a></code>, il subsiste toujours le risque qu'un
497     appel système ou une bibliothèque fasse appel à suEXEC avant que
498     cette vérification ne soit exploitable sur votre système. Pour
499     tenir compte de ceci, et parce que c'est en général la meilleure
500     pratique, vous devez utiliser les permissions du système de
501     fichiers afin de vous assurer que seul le groupe sous lequel
502     s'exécute Apache puisse faire appel à suEXEC.</p>
503
504     <p>Si, par exemple, votre serveur web est configuré pour
505     s'exécuter en tant que :</p>
506
507 <div class="example"><p><code>
508     User www<br />
509     Group webgroup<br />
510 </code></p></div>
511
512     <p>et <code class="program"><a href="./programs/suexec.html">suexec</a></code> se trouve à
513     "/usr/local/apache2/bin/suexec", vous devez exécuter les
514     commandes</p>
515
516 <div class="example"><p><code>
517     chgrp webgroup /usr/local/apache2/bin/suexec<br />
518     chmod 4750 /usr/local/apache2/bin/suexec<br />
519 </code></p></div>
520
521     <p>Ceci permet de s'assurer que seul le groupe sous lequel Apache
522     s'exécute (ici webgroup) puisse faire appel au conteneur
523     suEXEC.</p>
524   
525 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
526 <div class="section">
527 <h2><a name="enable" id="enable">Activation et désactivation
528 de suEXEC</a></h2>
529
530     <p>Au démarrage, Apache vérifie la présence du fichier
531     <code class="program"><a href="./programs/suexec.html">suexec</a></code> dans le répertoire défini par
532     l'option <code>--sbindir</code> du script configure (le
533     répertoire par défaut est "/usr/local/apache/sbin/suexec"). Si
534     Apache trouve un conteneur suEXEC correctement configuré, il
535     enregistrera le message suivant dans le journal des erreurs :</p>
536
537 <div class="example"><p><code>
538     [notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>)
539 </code></p></div>
540
541     <p>Si ce message n'est pas généré au démarrage du serveur, ce
542     dernier ne trouve probablement pas le programme conteneur à
543     l'endroit où il est sensé être, ou l'exécutable suexec n'est pas
544     installé en <em>setuid root</em>.</p>
545
546      <p>Si le serveur Apache est déjà en cours d'exécution, et si
547      vous activez le mécanisme suEXEC pour la première fois, vous
548      devez arrêter et redémarrer Apache. Un redémarrage
549      à l'aide d'un simple signal HUP ou USR1 suffira. </p>
550      <p>Pour désactiver suEXEC, vous devez supprimer le fichier
551      <code class="program"><a href="./programs/suexec.html">suexec</a></code>, puis arrêter et redémarrer
552      Apache.</p>
553 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
554 <div class="section">
555 <h2><a name="usage" id="usage">Utilisation de suEXEC</a></h2>
556
557     <p>Les requêtes pour des programmes CGI ne feront appel au
558     conteneur suEXEC que si elles concernent un hôte virtuel
559     contenant une directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>, ou si elles sont
560     traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>.</p>
561
562     <p><strong>Hôtes virtuels :</strong><br /> Une des méthodes
563     d'utilisation du conteneur suEXEC consiste à insérer une
564     directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> dans une section
565     <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code>. En définissant
566     des valeurs différentes de celles du serveur principal, toutes les
567     requêtes pour des ressources CGI seront exécutées sous
568     les <em>User</em> et <em>Group</em> définis pour cette section
569     <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. Si cette
570     directive est absente de la section <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>, l'utilisateur du
571     serveur principal sera pris par défaut</p>
572
573     <p><strong>Répertoires des utilisateurs :</strong><br /> Avec
574     cette méthode, les
575     requêtes traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> appelleront le
576     conteneur suEXEC pour exécuter le programme CGI sous l'identifiant
577     utilisateur du répertoire utilisateur concerné. Seuls prérequis
578     pour pouvoir accéder à cette fonctionnalité : l'exécution des CGI
579     doit être activée pour l'utilisateur concerné, et le script doit
580     passer avec succès le test des <a href="#model">vérifications de
581     sécurité</a> décrit plus haut. Voir aussi l'
582     <a href="#install">option de compilation</a>
583     <code>--with-suexec-userdir</code>.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
584 <div class="section">
585 <h2><a name="debug" id="debug">Débogage de suEXEC</a></h2>
586
587     <p>Le conteneur suEXEC va écrire ses informations de journalisation
588     dans le fichier défini par l'option de compilation
589     <code>--with-suexec-logfile</code> comme indiqué plus haut. Si vous
590     pensez avoir configuré et installé correctement le conteneur,
591     consultez ce journal, ainsi que le journal des erreurs du serveur
592     afin de déterminer l'endroit où vous avez fait fausse route.</p>
593
594 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
595 <div class="section">
596 <h2><a name="jabberwock" id="jabberwock">Avis à la population !
597     Avertissements et exemples</a></h2>
598
599     <p><strong>NOTE !</strong> Cette section est peut-être incomplète.
600     Pour en consulter la dernière révision, voir la version de la <a href="http://httpd.apache.org/docs/trunk/suexec.html">Documentation en ligne</a> du Groupe Apache.</p>
601
602     <p>Quelques points importants du conteneur peuvent
603     imposer des contraintes du point de vue de la configuration du
604     serveur. Veuillez en prendre connaissance avant de soumettre un
605     rapport de bogue à propos de suEXEC.</p>
606
607     <ul>
608       <li><strong>Points importants de suEXEC</strong></li>
609
610       <li>
611         Limitations concernant la hiérarchie.
612
613         <p class="indent">
614           Pour des raisons de sécurité et d'efficacité, toutes les
615           requêtes suEXEC ne doivent concerner que des ressources
616           situées dans la racine des documents définie pour les
617           requêtes concernant un hôte virtuel, ou des ressources
618           situées dans la racine des documents définies pour les
619           requêtes concernant un répertoire utilisateur. Par exemple,
620           si vous avez configuré quatre hôtes virtuels, vous devrez
621           définir la structure des racines de documents de vos hôtes
622           virtuels en dehors d'une hiérarchie de documents principale
623           d'Apache, afin de tirer parti de suEXEC dans le contexte des
624           hôtes virtuels (Exemple à venir).
625         </p>
626       </li>
627
628       <li>
629         La variable d'environnement PATH de suEXEC
630
631         <p class="indent">
632           Modifier cette variable peut s'avérer dangereux. Assurez-vous
633           que tout chemin que vous ajoutez à cette variable est un
634           répertoire <strong>de confiance</strong>. Vous n'avez
635           probablement pas l'intention d'ouvrir votre serveur de façon
636           à ce que l'on puisse y exécuter un cheval de Troie.
637         </p>
638       </li>
639
640       <li>
641         Modification de suEXEC
642
643         <p class="indent">
644           Encore une fois, ceci peut vous causer de
645           <strong>graves ennuis</strong> si vous vous y essayez sans
646           savoir ce que vous faites. Evitez de vous y risquer dans la
647           mesure du possible.
648         </p>
649       </li>
650     </ul>
651
652 </div></div>
653 <div class="bottomlang">
654 <p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
655 <a href="./fr/suexec.html" title="Français">&nbsp;fr&nbsp;</a> |
656 <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
657 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
658 <a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
659 </div><div id="footer">
660 <p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
661 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
662 </body></html>