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 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>Support suEXEC - Serveur Apache HTTP Version 2.4</title>
11 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
14 <script src="./style/scripts/prettify.min.js" type="text/javascript">
17 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
18 <body id="manual-page"><div id="page-header">
19 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
20 <p class="apache">Serveur Apache HTTP Version 2.4</p>
21 <img alt="" src="./images/feather.png" /></div>
22 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
24 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Support suEXEC</h1>
26 <p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
27 <a href="./fr/suexec.html" title="Français"> fr </a> |
28 <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
29 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
30 <a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
33 <p>La fonctionnalité <strong>suEXEC</strong> permet
34 l'exécution des programmes <strong>CGI</strong> et
35 <strong>SSI</strong> sous un utilisateur autre que celui sous
36 lequel s'exécute le serveur web qui appelle ces programmes.
37 Normalement, lorsqu'un programme CGI ou SSI est lancé, il
38 s'exécute sous le même utilisateur que celui du serveur web qui
41 <p>Utilisée de manière appropriée, cette fonctionnalité peut
42 réduire considérablement les risques de sécurité encourus
43 lorsqu'on autorise les utilisateurs à développer et faire
44 s'exécuter des programmes CGI ou SSI de leur cru. Cependant, mal
45 configuré, suEXEC peut causer de nombreux problèmes et même créer
46 de nouvelles failles dans la sécurité de votre ordinateur. Si
47 vous n'êtes pas familier avec la gestion des programmes
48 <em>setuid root</em> et les risques de sécurité qu'ils comportent,
49 nous vous recommandons vivement de ne pas tenter
50 d'utiliser suEXEC.</p>
52 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">Avant de commencer</a></li>
53 <li><img alt="" src="./images/down.gif" /> <a href="#model">Modèle de sécurité de suEXEC</a></li>
54 <li><img alt="" src="./images/down.gif" /> <a href="#install">Configurer et installer suEXEC</a></li>
55 <li><img alt="" src="./images/down.gif" /> <a href="#enable">Activation et désactivation
57 <li><img alt="" src="./images/down.gif" /> <a href="#usage">Utilisation de suEXEC</a></li>
58 <li><img alt="" src="./images/down.gif" /> <a href="#debug">Débogage de suEXEC</a></li>
59 <li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Avis à la population !
60 Avertissements et exemples</a></li>
61 </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
62 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
64 <h2><a name="before" id="before">Avant de commencer</a></h2>
66 <p>Avant de foncer tête baissée dans la lecture de ce document,
67 vous devez tenir compte de certaines hypothèses concernant vous-même
68 et l'environnement dans lequel vous allez utiliser suexec.</p>
70 <p>Premièrement, vous devez utiliser un système d'exploitation
71 UNIX ou dérivé, capable d'effectuer des opérations
72 <strong>setuid</strong> et <strong>setgid</strong>. Tous les
73 exemples de commande sont donnés en conséquence. D'autres
74 plates-formes, même si elles supportent suEXEC, peuvent
75 avoir une configuration différente.</p>
77 <p>Deuxièmement, vous devez être familier avec les concepts de base
78 relatifs à la sécurité de votre ordinateur et son administration.
79 Ceci implique la compréhension des opérations
80 <strong>setuid/setgid</strong> et des différents effets qu'elles
81 peuvent produire sur votre système et son niveau de sécurité.</p>
83 <p>Troisièmement, vous devez utiliser une version
84 <strong>non modifiée</strong> du code de suEXEC. L'ensemble du
85 code de suEXEC a été scruté et testé avec soin par les développeurs
86 et de nombreux bêta testeurs. Toutes les précautions ont été prises
87 pour s'assurer d'une base sûre de code non seulement simple, mais
88 aussi solide. La modification de ce code peut causer des problèmes
89 inattendus et de nouveaux risques de sécurité. Il est
90 <strong>vivement</strong> recommandé de ne pas modifier le code de
91 suEXEC, à moins que vous ne soyez un programmeur spécialiste des
92 particularités liées à la sécurité, et souhaitez partager votre
93 travail avec l'équipe de développement du serveur HTTP Apache afin
94 de pouvoir en discuter.</p>
96 <p>Quatrièmement et dernièrement, l'équipe de développement du
97 serveur HTTP Apache a décidé de ne
98 <strong>PAS</strong> inclure suEXEC dans l'installation par défaut
99 d'Apache httpd. Pour pouvoir mettre en oeuvre suEXEC, l'administrateur
100 doit porter la plus grande attention aux détails. Après avoir bien
101 réfléchi aux différents points de la configuration de suEXEC,
102 l'administrateur peut l'installer selon les méthodes classiques.
103 Les valeurs des paramètres de configuration doivent être
104 déterminées et spécifiées avec soin par l'administrateur, afin de
105 maintenir la sécurité du système de manière appropriée lors de
106 l'utilisation de la fonctionnalité suEXEC. C'est par le biais de
107 ce processus minutieux que nous espérons réserver
108 l'installation de suEXEC aux administrateurs prudents et
109 suffisamment déterminés à vouloir l'utiliser.</p>
111 <p>Vous êtes encore avec nous ? Oui ? Bien.
112 Alors nous pouvons continuer !</p>
113 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
114 <div class="section">
115 <h2><a name="model" id="model">Modèle de sécurité de suEXEC</a></h2>
117 <p>Avant d'installer et configurer suEXEC, nous allons tout d'abord
118 décrire le modèle de sécurité que vous êtes sur le point
119 d'implémenter. Vous devriez ainsi mieux comprendre ce qui se passe
120 vraiment à l'intérieur de suEXEC et quelles précautions ont été
121 prises pour préserver la sécurité de votre système.</p>
123 <p><strong>suEXEC</strong> est basé sur un programme "conteneur"
124 (wrapper) setuid qui est appelé par le serveur HTTP Apache principal.
125 Ce conteneur est appelé quand une requête HTTP concerne
126 un programme CGI ou SSI que l'administrateur
127 a décidé de faire s'exécuter
128 sous un utilisateur autre que celui du serveur principal.
129 Lorsqu'il reçoit une telle requête, Apache httpd fournit au conteneur
130 suEXEC le nom du programme, ainsi que les identifiants utilisateur
131 et groupe sous lesquels le programme doit s'exécuter.</p>
133 <p>Le conteneur effectue ensuite les vérifications suivantes afin
134 de déterminer la réussite ou l'échec du processus -- si une seule
135 de ces conditions n'est pas vérifiée, le programme journalise
136 l'erreur et se termine en retournant un code d'erreur, sinon il
141 <strong>L'utilisateur qui exécute le conteneur est-il un
142 utilisateur valide de ce système ?</strong>
145 Ceci permet de s'assurer que l'utilisateur qui exécute le
146 conteneur est vraiment un utilisateur appartenant au système.
151 <strong>Le conteneur a-t-il été appelé avec un nombre
152 d'arguments correct ?</strong>
155 Le conteneur ne s'exécutera que si on lui fournit un nombre
156 d'arguments correct. Le serveur HTTP apache sait quel est le
157 bon format des arguments. Si le conteneur ne reçoit pas un
158 nombre d'arguments correct, soit il a été modifié,
159 soit quelque chose ne va pas dans la portion suEXEC de
160 votre binaire Apache httpd.
165 <strong>Cet utilisateur valide est-il autorisé à exécuter le
169 Cet utilisateur est-il celui autorisé à exécuter le
170 conteneur ? Un seul utilisateur (celui d'Apache) est
171 autorisé à exécuter ce programme.
176 <strong>Le chemin du programme CGI ou SSI cible est-il
180 Le chemin du programme CGI ou SSI cible débute-t-il par un
181 '/' ou contient-il une référence arrière '..' ? Ceci est
182 interdit ; le programme CGI ou SSI cible doit se trouver dans
183 la hiérarchie de la racine des documents de suEXEC (voir
184 <code>--with-suexec-docroot=<em>DIR</em></code> ci-dessous).
189 <strong>Le nom utilisateur cible est-il valide ?</strong>
192 L'utilisateur cible existe-t-il ?
197 <strong>Le nom du groupe cible est-il valide ?</strong>
200 Le groupe cible existe-t-il ?
205 <strong>L'utilisateur cible n'est-il <em>PAS</em>
206 superutilisateur ?</strong>
210 suEXEc ne permet pas à
211 <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
216 <strong>Le numéro de l'identifiant de l'utilisateur cible
217 est-il <em>SUPERIEUR</em> au numéro d'identifiant
221 Le numéro d'identifiant utilisateur minimum est défini à
222 l'exécution du script configure. Ceci vous permet de définir
223 le numéro d'identifiant utilisateur le plus bas qui sera
224 autorisé à éxécuter des programmes CGI/SSI. En particulier,
225 cela permet d'écarter les comptes système.
230 <strong>Le groupe cible n'est-il <em>PAS</em> le groupe
231 superutilisateur ?</strong>
234 Actuellement, suEXEC ne permet pas au groupe
235 <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
240 <strong> Le numéro d'identifiant du groupe cible est-il
241 <em>SUPERIEUR</em> au numéro d'identifiant minimum ?</strong>
244 Le numéro d'identifiant de groupe minimum est spécifié lors
245 de l'exécution du script configure. Ceci vous permet de
246 définir l'identifiant de groupe le plus bas possible qui sera
247 autorisé à exécuter des programmes CGI/SSI, et est
248 particulièrement utile pour écarter les groupes "système".
253 <strong>Le conteneur peut-il obtenir avec succès l'identité
254 des utilisateur et groupe cibles ?</strong>
257 C'est ici que le programme obtient l'identité des utilisateur
258 et groupe cibles via des appels à setuid et setgid. De même,
259 la liste des accès groupe est initialisée avec tous les
260 groupes auxquels l'utilisateur cible appartient.
265 <strong>Peut-on se positionner dans le répertoire dans dequel
266 sont situés les programmes CGI/SSI ?</strong>
269 S'il n'existe pas, il ne peut pas contenir de fichier. Et si
270 l'on ne peut pas s'y positionner, il n'existe probablement
276 <strong>Le répertoire est-il dans l'espace web
280 Si la requête concerne une portion de la racine du serveur,
281 le répertoire demandé est-il dans la hiérarchie de la racine
282 des documents de suEXEC ? Si la requête concerne un
283 <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>, le répertoire demandé est-il dans
284 la hiérarchie du répertoire défini comme le répertoire
285 utilisateur de suEXEC (voir les
286 <a href="#install">options de configuration de suEXEC</a>) ?
291 <strong>L'écriture dans le répertoire est-elle interdite pour
292 un utilisateur autre que le propriétaire </strong>
295 Le répertoire ne doit pas être ouvert aux autres
296 utilisateurs ; seul l'utilisateur propriétaire doit pouvoir
297 modifier le contenu du répertoire.
302 <strong>Le programme CGI/SSI cible existe-t-il ?</strong>
305 S'il n'existe pas, il ne peut pas être exécuté.
310 <strong>Les utilisateurs autres que le propriétaire n'ont-ils
311 <em>PAS</em> de droits en écriture sur le programme
315 Les utilisateurs autres que le propriétaire ne doivent pas
316 pouvoir modifier le programme CGI/SSI.
321 <strong>Le programme CGI/SSI n'est-il <em>PAS</em> setuid ou
325 Les programmes cibles ne doivent pas pouvoir modifier à
326 nouveau les identifiants utilisateur/groupe.
331 <strong>Le couple utilisateur/groupe cible est-il le même que
332 celui du programme ?</strong>
335 L'utilisateur est-il le propriétaire du fichier ?
340 <strong>Peut-on nettoyer avec succès l'environnement des
341 processus afin de garantir la sûreté des opérations ?</strong>
344 suExec nettoie l'environnement des processus en établissant
345 un chemin d'exécution sûr (défini lors de la configuration),
346 et en ne passant que les variables dont les noms font partie
347 de la liste de l'environnement sûr (créée de même lors de la
353 <strong>Le conteneur peut-il avec succès se substituer au
354 programme CGI/SSI cible et s'exécuter ?</strong>
357 C'est là où l'exécution de suEXEC s'arrête et où commence
358 celle du programme CGI/ssi cible.
363 <p>Ce sont les opérations standards effectuées par le modèle de
364 sécurité du conteneur suEXEC. Il peut paraître strict et est
365 susceptible d'imposer de nouvelles limitations et orientations
366 dans la conception des programmes CGI/SSI, mais il a été développé
367 avec le plus grand soin, étape par étape, en se focalisant sur
370 <p>Pour plus d'informations sur la mesure dans laquelle ce modèle
371 de sécurité peut limiter vos possibilités au regard de la
372 configuration du serveur, ainsi que les risques de sécurité qui
373 peuvent être évités grâce à une configuration appropriée de suEXEC,
374 se référer à la section <a href="#jabberwock">"Avis à la population !"</a> de ce document.</p>
375 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
376 <div class="section">
377 <h2><a name="install" id="install">Configurer et installer suEXEC</a></h2>
379 <p>C'est ici que nous entrons dans le vif du sujet.</p>
381 <p><strong>Options de configuration de suEXEC</strong><br />
385 <dt><code>--enable-suexec</code></dt>
387 <dd>Cette option active la fonctionnalité suEXEC qui n'est
388 jamais installée ou activée par défaut. Au moins une option
389 <code>--with-suexec-xxxxx</code> doit accompagner l'option
390 <code>--enable-suexec</code> pour qu'APACI (l'utilitaire de
391 configuration de la compilation d'Apache) accepte votre demande
392 d'utilisation de la fonctionnalité suEXEC.</dd>
394 <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
396 <dd>Le chemin du binaire <code>suexec</code> doit être codé en
397 dur dans le serveur pour des raisons de sécurité. Cette option
398 vous permet de modifier le chemin par défaut.
400 <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
402 <dt><code>--with-suexec-caller=<em>UID</em></code></dt>
404 <dd>L'<a href="mod/mpm_common.html#user">utilisateur</a> sous
405 lequel httpd s'exécute habituellement. C'est le seul utilisateur
406 autorisé à exécuter le wrapper suEXEC.</dd>
408 <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
410 <dd>Cette option définit le sous-répertoire de la hiérarchie des
411 répertoires utilisateurs dans lequel l'utilisation
412 de suEXEC sera autorisée. Tous les exécutables situés dans ce
413 répertoire seront exécutables par suEXEC sous l'utilisateur
414 cible ; ces programmes doivent donc être sûrs. Si vous utilisez
415 une directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
416 "simple" (c'est à dire ne contenant pas de
417 "*"), l'option --with-suexec-userdir
418 devra contenir la même valeur. SuEXEC ne fonctionnera pas
419 correctement si la directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> contient une valeur
420 différente du répertoire home de l'utilisateur tel qu'il est
421 défini dans le fichier <code>passwd</code>. la valeur par défaut
422 est "<code>public_html</code>".<br />
423 Si vous avez plusieurs hôtes virtuels avec une directive
424 <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> différente
425 pour chacun d'entre eux, vous devrez faire en sorte que chaque
426 UserDir possède un répertoire parent commun ; donnez alors à
427 l'option --with-suexec-userdir le nom
428 de ce répertoire commun. <strong>Si tout ceci n'est pas défini
429 correctement, les requêtes CGI "~userdir" ne fonctionneront
432 <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
434 <dd>Cette option fonctionne comme la directive DocumentRoot pour
435 httpd. Il s'agit de la seule hiérarchie (en dehors des directives
436 <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>) dans laquelle la fonctionnalité suEXEC
437 pourra être utilisée. La valeur par défaut est la valeur de
438 <code>--datadir</code> accompagnée du suffixe
439 "<code>/htdocs</code>" ;
440 <em>Par exemple</em>, si vous exécutez configure avec
441 "<code>--datadir=/home/apache</code>", la valeur
442 "<code>/home/apache/htdocs</code>" sera utilisée par défaut comme
443 racine des documents pour le conteneur suEXEC.</dd>
445 <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
447 <dd>Cette option définit l'identifiant utilisateur le plus bas
448 avec lequel un utilisateur pourra être la cible de
449 suEXEC. 500 ou 100 sont des valeurs courantes sur la plupart des
450 systèmes. la valeur par défaut est 100.</dd>
452 <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
454 <dd>Cette option définit l'identifiant de groupe le plus bas
455 avec lequel un utilisateur pourra être la cible de
456 suEXEC. 100 est une valeur courante sur la plupart des
457 systèmes et est par conséquent la valeur par défaut.</dd>
459 <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
461 <dd>Cette option permet de définir le fichier dans lequel
462 toutes les transactions et erreurs de suEXEC seront journalisées
463 (à des fins d'analyse ou de débogage). Par défaut, le fichier
464 journal se nomme "<code>suexec_log</code>" et se trouve dans votre
465 répertoire standard des fichiers journaux défini par
466 <code>--logfiledir</code></dd>
468 <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
470 <dd>Cette option permet de définir une variable d'environnement
471 PATH sûre à passer aux exécutables CGI. La valeur par défaut
472 est "<code>/usr/local/bin:/usr/bin:/bin</code>".</dd>
475 <h3>Compilation et installation du conteneur suEXEC</h3>
478 <p>Si vous avez activé la fonctionnalité suEXEC à l'aide de
479 l'option <code>--enable-suexec</code>, le binaire
480 <code>suexec</code> sera automatiquement construit (en même temps
481 que httpd) lorsque vous exécuterez la commande
482 <code>make</code>.</p>
484 <p>Lorsque tous les composants auront été construits, vous pourrez
485 exécuter la commande <code>make install</code> afin de les
486 installer. Le binaire <code>suexec</code> sera installé dans le
487 répertoire défini à l'aide de l'option <code>--sbindir</code>. La
488 localisation par défaut est "/usr/local/apache2/bin/suexec".</p>
489 <p>Veuillez noter que vous aurez besoin des
490 <strong><em>privilèges root</em></strong> pour passer l'étape de
491 l'installation. Pour que le conteneur puisse changer
492 l'identifiant utilisateur, il doit avoir comme propriétaire
493 <code><em>root</em></code>, et les droits du fichier doivent
494 inclure le bit d'exécution setuserid.</p>
497 <h3>>Mise en place de permissions pour
500 <p>Bien que le conteneur suEXEC vérifie que l'utilisateur qui
501 l'appelle correspond bien à l'utilisateur spécifié à l'aide de
502 l'option <code>--with-suexec-caller</code> du programme
503 <code class="program"><a href="./programs/configure.html">configure</a></code>, il subsiste toujours le risque qu'un
504 appel système ou une bibliothèque fasse appel à suEXEC avant que
505 cette vérification ne soit exploitable sur votre système. Pour
506 tenir compte de ceci, et parce que c'est en général la meilleure
507 pratique, vous devez utiliser les permissions du système de
508 fichiers afin de vous assurer que seul le groupe sous lequel
509 s'exécute httpd puisse faire appel à suEXEC.</p>
511 <p>Si, par exemple, votre serveur web est configuré pour
512 s'exécuter en tant que :</p>
514 <pre class="prettyprint lang-config">User www
518 <p>et <code class="program"><a href="./programs/suexec.html">suexec</a></code> se trouve à
519 "/usr/local/apache2/bin/suexec", vous devez exécuter les
522 <div class="example"><p><code>
523 chgrp webgroup /usr/local/apache2/bin/suexec<br />
524 chmod 4750 /usr/local/apache2/bin/suexec<br />
527 <p>Ceci permet de s'assurer que seul le groupe sous lequel httpd
528 s'exécute (ici webgroup) puisse faire appel au conteneur
531 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
532 <div class="section">
533 <h2><a name="enable" id="enable">Activation et désactivation
536 <p>Au démarrage, httpd vérifie la présence du fichier
537 <code class="program"><a href="./programs/suexec.html">suexec</a></code> dans le répertoire défini par
538 l'option <code>--sbindir</code> du script configure (le
539 répertoire par défaut est "/usr/local/apache/sbin/suexec"). Si
540 httpd trouve un conteneur suEXEC correctement configuré, il
541 enregistrera le message suivant dans le journal des erreurs :</p>
543 <div class="example"><p><code>
544 [notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>)
547 <p>Si ce message n'est pas généré au démarrage du serveur, ce
548 dernier ne trouve probablement pas le programme conteneur à
549 l'endroit où il est sensé être, ou l'exécutable suexec n'est pas
550 installé en <em>setuid root</em>.</p>
552 <p>Si le serveur HTTP Apache est déjà en cours d'exécution, et si
553 vous activez le mécanisme suEXEC pour la première fois, vous
554 devez arrêter et redémarrer httpd. Un redémarrage
555 à l'aide d'un simple signal HUP ou USR1 suffira. </p>
556 <p>Pour désactiver suEXEC, vous devez supprimer le fichier
557 <code class="program"><a href="./programs/suexec.html">suexec</a></code>, puis arrêter et redémarrer
559 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
560 <div class="section">
561 <h2><a name="usage" id="usage">Utilisation de suEXEC</a></h2>
563 <p>Les requêtes pour des programmes CGI ne feront appel au
564 conteneur suEXEC que si elles concernent un hôte virtuel
565 contenant une directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>, ou si elles sont
566 traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>.</p>
568 <p><strong>Hôtes virtuels :</strong><br /> Une des méthodes
569 d'utilisation du conteneur suEXEC consiste à insérer une
570 directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> dans une section
571 <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code>. En définissant
572 des valeurs différentes de celles du serveur principal, toutes les
573 requêtes pour des ressources CGI seront exécutées sous
574 les <em>User</em> et <em>Group</em> définis pour cette section
575 <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>. Si cette
576 directive est absente de la section <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>, l'utilisateur du
577 serveur principal sera pris par défaut</p>
579 <p><strong>Répertoires des utilisateurs :</strong><br /> Avec
581 requêtes traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> appelleront le
582 conteneur suEXEC pour exécuter le programme CGI sous l'identifiant
583 utilisateur du répertoire utilisateur concerné. Seuls prérequis
584 pour pouvoir accéder à cette fonctionnalité : l'exécution des CGI
585 doit être activée pour l'utilisateur concerné, et le script doit
586 passer avec succès le test des <a href="#model">vérifications de
587 sécurité</a> décrit plus haut. Voir aussi l'
588 <a href="#install">option de compilation</a>
589 <code>--with-suexec-userdir</code>.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
590 <div class="section">
591 <h2><a name="debug" id="debug">Débogage de suEXEC</a></h2>
593 <p>Le conteneur suEXEC va écrire ses informations de journalisation
594 dans le fichier défini par l'option de compilation
595 <code>--with-suexec-logfile</code> comme indiqué plus haut. Si vous
596 pensez avoir configuré et installé correctement le conteneur,
597 consultez ce journal, ainsi que le journal des erreurs du serveur
598 afin de déterminer l'endroit où vous avez fait fausse route.</p>
600 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
601 <div class="section">
602 <h2><a name="jabberwock" id="jabberwock">Avis à la population !
603 Avertissements et exemples</a></h2>
605 <p><strong>NOTE !</strong> Cette section est peut-être incomplète.
606 Pour en consulter la dernière révision, voir la version de la <a href="http://httpd.apache.org/docs/2.4/suexec.html">Documentation en ligne</a>.</p>
608 <p>Quelques points importants du conteneur peuvent
609 imposer des contraintes du point de vue de la configuration du
610 serveur. Veuillez en prendre connaissance avant de soumettre un
611 rapport de bogue à propos de suEXEC.</p>
614 <li><strong>Points importants de suEXEC</strong></li>
617 Limitations concernant la hiérarchie.
620 Pour des raisons de sécurité et d'efficacité, toutes les
621 requêtes suEXEC ne doivent concerner que des ressources
622 situées dans la racine des documents définie pour les
623 requêtes concernant un hôte virtuel, ou des ressources
624 situées dans la racine des documents définies pour les
625 requêtes concernant un répertoire utilisateur. Par exemple,
626 si vous avez configuré quatre hôtes virtuels, vous devrez
627 définir la structure des racines de documents de vos hôtes
628 virtuels en dehors d'une hiérarchie de documents principale
629 de httpd, afin de tirer parti de suEXEC dans le contexte des
630 hôtes virtuels (Exemple à venir).
635 La variable d'environnement PATH de suEXEC
638 Modifier cette variable peut s'avérer dangereux. Assurez-vous
639 que tout chemin que vous ajoutez à cette variable est un
640 répertoire <strong>de confiance</strong>. Vous n'avez
641 probablement pas l'intention d'ouvrir votre serveur de façon
642 à ce que l'on puisse y exécuter un cheval de Troie.
647 Modification de suEXEC
650 Encore une fois, ceci peut vous causer de
651 <strong>graves ennuis</strong> si vous vous y essayez sans
652 savoir ce que vous faites. Evitez de vous y risquer dans la
659 <div class="bottomlang">
660 <p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
661 <a href="./fr/suexec.html" title="Français"> fr </a> |
662 <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
663 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
664 <a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
665 </div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
666 <script type="text/javascript"><!--//--><![CDATA[//><!--
667 var comments_shortname = 'httpd';
668 var comments_identifier = 'http://httpd.apache.org/docs/2.4/suexec.html';
670 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
671 d.write('<div id="comments_thread"><\/div>');
672 var s = d.createElement('script');
673 s.type = 'text/javascript';
675 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
676 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
679 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
681 })(window, document);
682 //--><!]]></script></div><div id="footer">
683 <p class="apache">Copyright 2016 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
684 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
685 if (typeof(prettyPrint) !== 'undefined') {