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
8 <title>Support suEXEC - Serveur Apache HTTP Version 2.5</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" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
12 <script src="./style/scripts/prettify.min.js" type="text/javascript">
15 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
16 <body id="manual-page"><div id="page-header">
17 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.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>
18 <p class="apache">Serveur Apache HTTP Version 2.5</p>
19 <img alt="" src="./images/feather.gif" /></div>
20 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
22 <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.5</a></div><div id="page-content"><div id="preamble"><h1>Support suEXEC</h1>
24 <p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
25 <a href="./fr/suexec.html" title="Français"> fr </a> |
26 <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
27 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
28 <a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
31 <p>La fonctionnalité <strong>suEXEC</strong> permet
32 l'exécution des programmes <strong>CGI</strong> et
33 <strong>SSI</strong> sous un utilisateur autre que celui sous
34 lequel s'exécute le serveur web qui appelle ces programmes.
35 Normalement, lorsqu'un programme CGI ou SSI est lancé, il
36 s'exécute sous le même utilisateur que celui du serveur web qui
39 <p>Utilisée de manière appropriée, cette fonctionnalité peut
40 réduire considérablement les risques de sécurité encourus
41 lorsqu'on autorise les utilisateurs à développer et faire
42 s'exécuter des programmes CGI ou SSI de leur cru. Cependant, mal
43 configuré, suEXEC peut causer de nombreux problèmes et même créer
44 de nouvelles failles dans la sécurité de votre ordinateur. Si
45 vous n'êtes pas familier avec la gestion des programmes
46 <em>setuid root</em> et les risques de sécurité qu'ils comportent,
47 nous vous recommandons vivement de ne pas tenter
48 d'utiliser suEXEC.</p>
50 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">Avant de commencer</a></li>
51 <li><img alt="" src="./images/down.gif" /> <a href="#model">Modèle de sécurité de suEXEC</a></li>
52 <li><img alt="" src="./images/down.gif" /> <a href="#install">Configurer et installer suEXEC</a></li>
53 <li><img alt="" src="./images/down.gif" /> <a href="#enable">Activation et désactivation
55 <li><img alt="" src="./images/down.gif" /> <a href="#usage">Utilisation de suEXEC</a></li>
56 <li><img alt="" src="./images/down.gif" /> <a href="#debug">Débogage de suEXEC</a></li>
57 <li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Avis à la population !
58 Avertissements et exemples</a></li>
59 </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
60 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
62 <h2><a name="before" id="before">Avant de commencer</a></h2>
64 <p>Avant de foncer tête baissée dans la lecture de ce document,
65 vous devez tenir compte de certaines hypothèses concernant vous-même
66 et l'environnement dans lequel vous allez utiliser suexec.</p>
68 <p>Premièrement, vous devez utiliser un système d'exploitation
69 UNIX ou dérivé, capable d'effectuer des opérations
70 <strong>setuid</strong> et <strong>setgid</strong>. Tous les
71 exemples de commande sont donnés en conséquence. D'autres
72 plates-formes, même si elles supportent suEXEC, peuvent
73 avoir une configuration différente.</p>
75 <p>Deuxièmement, vous devez être familier avec les concepts de base
76 relatifs à la sécurité de votre ordinateur et son administration.
77 Ceci implique la compréhension des opérations
78 <strong>setuid/setgid</strong> et des différents effets qu'elles
79 peuvent produire sur votre système et son niveau de sécurité.</p>
81 <p>Troisièmement, vous devez utiliser une version
82 <strong>non modifiée</strong> du code de suEXEC. L'ensemble du
83 code de suEXEC a été scruté et testé avec soin par les développeurs
84 et de nombreux bêta testeurs. Toutes les précautions ont été prises
85 pour s'assurer d'une base sûre de code non seulement simple, mais
86 aussi solide. La modification de ce code peut causer des problèmes
87 inattendus et de nouveaux risques de sécurité. Il est
88 <strong>vivement</strong> recommandé de ne pas modifier le code de
89 suEXEC, à moins que vous ne soyez un programmeur spécialiste des
90 particularités liées à la sécurité, et souhaitez partager votre
91 travail avec l'équipe de développement du serveur HTTP Apache afin
92 de pouvoir en discuter.</p>
94 <p>Quatrièmement et dernièrement, l'équipe de développement du
95 serveur HTTP Apache a décidé de ne
96 <strong>PAS</strong> inclure suEXEC dans l'installation par défaut
97 d'Apache httpd. Pour pouvoir mettre en oeuvre suEXEC, l'administrateur
98 doit porter la plus grande attention aux détails. Après avoir bien
99 réfléchi aux différents points de la configuration de suEXEC,
100 l'administrateur peut l'installer selon les méthodes classiques.
101 Les valeurs des paramètres de configuration doivent être
102 déterminées et spécifiées avec soin par l'administrateur, afin de
103 maintenir la sécurité du système de manière appropriée lors de
104 l'utilisation de la fonctionnalité suEXEC. C'est par le biais de
105 ce processus minutieux que nous espérons réserver
106 l'installation de suEXEC aux administrateurs prudents et
107 suffisamment déterminés à vouloir l'utiliser.</p>
109 <p>Vous êtes encore avec nous ? Oui ? Bien.
110 Alors nous pouvons continuer !</p>
111 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
112 <div class="section">
113 <h2><a name="model" id="model">Modèle de sécurité de suEXEC</a></h2>
115 <p>Avant d'installer et configurer suEXEC, nous allons tout d'abord
116 décrire le modèle de sécurité que vous êtes sur le point
117 d'implémenter. Vous devriez ainsi mieux comprendre ce qui se passe
118 vraiment à l'intérieur de suEXEC et quelles précautions ont été
119 prises pour préserver la sécurité de votre système.</p>
121 <p><strong>suEXEC</strong> est basé sur un programme "conteneur"
122 (wrapper) setuid qui est appelé par le serveur HTTP Apache principal.
123 Ce conteneur est appelé quand une requête HTTP concerne
124 un programme CGI ou SSI que l'administrateur
125 a décidé de faire s'exécuter
126 sous un utilisateur autre que celui du serveur principal.
127 Lorsqu'il reçoit une telle requête, Apache httpd fournit au conteneur
128 suEXEC le nom du programme, ainsi que les identifiants utilisateur
129 et groupe sous lesquels le programme doit s'exécuter.</p>
131 <p>Le conteneur effectue ensuite les vérifications suivantes afin
132 de déterminer la réussite ou l'échec du processus -- si une seule
133 de ces conditions n'est pas vérifiée, le programme journalise
134 l'erreur et se termine en retournant un code d'erreur, sinon il
139 <strong>L'utilisateur qui exécute le conteneur est-il un
140 utilisateur valide de ce système ?</strong>
143 Ceci permet de s'assurer que l'utilisateur qui exécute le
144 conteneur est vraiment un utilisateur appartenant au système.
149 <strong>Le conteneur a-t-il été appelé avec un nombre
150 d'arguments correct ?</strong>
153 Le conteneur ne s'exécutera que si on lui fournit un nombre
154 d'arguments correct. Le serveur HTTP apache sait quel est le
155 bon format des arguments. Si le conteneur ne reçoit pas un
156 nombre d'arguments correct, soit il a été modifié,
157 soit quelque chose ne va pas dans la portion suEXEC de
158 votre binaire Apache httpd.
163 <strong>Cet utilisateur valide est-il autorisé à exécuter le
167 Cet utilisateur est-il celui autorisé à exécuter le
168 conteneur ? Un seul utilisateur (celui d'Apache) est
169 autorisé à exécuter ce programme.
174 <strong>Le chemin du programme CGI ou SSI cible est-il
178 Le chemin du programme CGI ou SSI cible débute-t-il par un
179 '/' ou contient-il une référence arrière '..' ? Ceci est
180 interdit ; le programme CGI ou SSI cible doit se trouver dans
181 la hiérarchie de la racine des documents de suEXEC (voir
182 <code>--with-suexec-docroot=<em>DIR</em></code> ci-dessous).
187 <strong>Le nom utilisateur cible est-il valide ?</strong>
190 L'utilisateur cible existe-t-il ?
195 <strong>Le nom du groupe cible est-il valide ?</strong>
198 Le groupe cible existe-t-il ?
203 <strong>L'utilisateur cible n'est-il <em>PAS</em>
204 superutilisateur ?</strong>
208 suEXEc ne permet pas à
209 <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
214 <strong>Le numéro de l'identifiant de l'utilisateur cible
215 est-il <em>SUPERIEUR</em> au numéro d'identifiant
219 Le numéro d'identifiant utilisateur minimum est défini à
220 l'exécution du script configure. Ceci vous permet de définir
221 le numéro d'identifiant utilisateur le plus bas qui sera
222 autorisé à éxécuter des programmes CGI/SSI. En particulier,
223 cela permet d'écarter les comptes système.
228 <strong>Le groupe cible n'est-il <em>PAS</em> le groupe
229 superutilisateur ?</strong>
232 Actuellement, suEXEC ne permet pas au groupe
233 <code><em>root</em></code> d'exécuter des programmes CGI/SSI.
238 <strong> Le numéro d'identifiant du groupe cible est-il
239 <em>SUPERIEUR</em> au numéro d'identifiant minimum ?</strong>
242 Le numéro d'identifiant de groupe minimum est spécifié lors
243 de l'exécution du script configure. Ceci vous permet de
244 définir l'identifiant de groupe le plus bas possible qui sera
245 autorisé à exécuter des programmes CGI/SSI, et est
246 particulièrement utile pour écarter les groupes "système".
251 <strong>Le conteneur peut-il obtenir avec succès l'identité
252 des utilisateur et groupe cibles ?</strong>
255 C'est ici que le programme obtient l'identité des utilisateur
256 et groupe cibles via des appels à setuid et setgid. De même,
257 la liste des accès groupe est initialisée avec tous les
258 groupes auxquels l'utilisateur cible appartient.
263 <strong>Peut-on se positionner dans le répertoire dans dequel
264 sont situés les programmes CGI/SSI ?</strong>
267 S'il n'existe pas, il ne peut pas contenir de fichier. Et si
268 l'on ne peut pas s'y positionner, il n'existe probablement
274 <strong>Le répertoire est-il dans l'espace web
278 Si la requête concerne une portion de la racine du serveur,
279 le répertoire demandé est-il dans la hiérarchie de la racine
280 des documents de suEXEC ? Si la requête concerne un
281 <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>, le répertoire demandé est-il dans
282 la hiérarchie du répertoire défini comme le répertoire
283 utilisateur de suEXEC (voir les
284 <a href="#install">options de configuration de suEXEC</a>) ?
289 <strong>L'écriture dans le répertoire est-elle interdite pour
290 un utilisateur autre que le propriétaire </strong>
293 Le répertoire ne doit pas être ouvert aux autres
294 utilisateurs ; seul l'utilisateur propriétaire doit pouvoir
295 modifier le contenu du répertoire.
300 <strong>Le programme CGI/SSI cible existe-t-il ?</strong>
303 S'il n'existe pas, il ne peut pas être exécuté.
308 <strong>Les utilisateurs autres que le propriétaire n'ont-ils
309 <em>PAS</em> de droits en écriture sur le programme
313 Les utilisateurs autres que le propriétaire ne doivent pas
314 pouvoir modifier le programme CGI/SSI.
319 <strong>Le programme CGI/SSI n'est-il <em>PAS</em> setuid ou
323 Les programmes cibles ne doivent pas pouvoir modifier à
324 nouveau les identifiants utilisateur/groupe.
329 <strong>Le couple utilisateur/groupe cible est-il le même que
330 celui du programme ?</strong>
333 L'utilisateur est-il le propriétaire du fichier ?
338 <strong>Peut-on nettoyer avec succès l'environnement des
339 processus afin de garantir la sûreté des opérations ?</strong>
342 suExec nettoie l'environnement des processus en établissant
343 un chemin d'exécution sûr (défini lors de la configuration),
344 et en ne passant que les variables dont les noms font partie
345 de la liste de l'environnement sûr (créée de même lors de la
351 <strong>Le conteneur peut-il avec succès se substituer au
352 programme CGI/SSI cible et s'exécuter ?</strong>
355 C'est là où l'exécution de suEXEC s'arrête et où commence
356 celle du programme CGI/ssi cible.
361 <p>Ce sont les opérations standards effectuées par le modèle de
362 sécurité du conteneur suEXEC. Il peut paraître strict et est
363 susceptible d'imposer de nouvelles limitations et orientations
364 dans la conception des programmes CGI/SSI, mais il a été développé
365 avec le plus grand soin, étape par étape, en se focalisant sur
368 <p>Pour plus d'informations sur la mesure dans laquelle ce modèle
369 de sécurité peut limiter vos possibilités au regard de la
370 configuration du serveur, ainsi que les risques de sécurité qui
371 peuvent être évités grâce à une configuration appropriée de suEXEC,
372 se référer à la section <a href="#jabberwock">"Avis à la population !"</a> de ce document.</p>
373 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
374 <div class="section">
375 <h2><a name="install" id="install">Configurer et installer suEXEC</a></h2>
377 <p>C'est ici que nous entrons dans le vif du sujet.</p>
379 <p><strong>Options de configuration de suEXEC</strong><br />
383 <dt><code>--enable-suexec</code></dt>
385 <dd>Cette option active la fonctionnalité suEXEC qui n'est
386 jamais installée ou activée par défaut. Au moins une option
387 <code>--with-suexec-xxxxx</code> doit accompagner l'option
388 <code>--enable-suexec</code> pour qu'APACI (l'utilitaire de
389 configuration de la compilation d'Apache) accepte votre demande
390 d'utilisation de la fonctionnalité suEXEC.</dd>
392 <dt><code>--enable-suexec-capabilities</code></dt>
394 <dd><strong>Spécifique à Linux :</strong> Normalement, le binaire
395 <code>suexec</code> est installé en mode "setuid/setgid root", ce
396 qui lui permet de s'exécuter avec la totalité des privilèges de
397 l'utilisateur root. Avec cette option, le binaire
398 <code>suexec</code> sera installé avec seulement les bits
399 setuid/setgid "capability" définis, ce qui constitue un
400 sous-ensemble des privilèges de root pour les opérations de
401 suexec. Notez que dans ce mode, le binaire <code>suexec</code> ne
402 sera pas en mesure d'écrire dans un fichier journal ; il est donc
403 recommandé dans ce mode d'utiliser les options
404 <code>--with-suexec-syslog --without-suexec-logfile</code>, afin
405 d'utiliser la jounalisation syslog.</dd>
407 <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
409 <dd>Le chemin du binaire <code>suexec</code> doit être codé en
410 dur dans le serveur pour des raisons de sécurité. Cette option
411 vous permet de modifier le chemin par défaut.
413 <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
415 <dt><code>--with-suexec-caller=<em>UID</em></code></dt>
417 <dd>L'<a href="mod/mpm_common.html#user">utilisateur</a> sous
418 lequel httpd s'exécute habituellement. C'est le seul utilisateur
419 autorisé à exécuter le wrapper suEXEC.</dd>
421 <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
423 <dd>Cette option définit le sous-répertoire de la hiérarchie des
424 répertoires utilisateurs dans lequel l'utilisation
425 de suEXEC sera autorisée. Tous les exécutables situés dans ce
426 répertoire seront exécutables par suEXEC sous l'utilisateur
427 cible ; ces programmes doivent donc être sûrs. Si vous utilisez
428 une directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
429 "simple" (c'est à dire ne contenant pas de
430 "*"), l'option --with-suexec-userdir
431 devra contenir la même valeur. SuEXEC ne fonctionnera pas
432 correctement si la directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> contient une valeur
433 différente du répertoire home de l'utilisateur tel qu'il est
434 défini dans le fichier <code>passwd</code>. la valeur par défaut
435 est "<code>public_html</code>".<br />
436 Si vous avez plusieurs hôtes virtuels avec une directive
437 <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> différente
438 pour chacun d'entre eux, vous devrez faire en sorte que chaque
439 UserDir possède un répertoire parent commun ; donnez alors à
440 l'option --with-suexec-userdir le nom
441 de ce répertoire commun. <strong>Si tout ceci n'est pas défini
442 correctement, les requêtes CGI "~userdir" ne fonctionneront
445 <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
447 <dd>Cette option fonctionne comme la directive DocumentRoot pour
448 httpd. Il s'agit de la seule hiérarchie (en dehors des directives
449 <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>) dans laquelle la fonctionnalité suEXEC
450 pourra être utilisée. La valeur par défaut est la valeur de
451 <code>--datadir</code> accompagnée du suffixe
452 "<code>/htdocs</code>" ;
453 <em>Par exemple</em>, si vous exécutez configure avec
454 "<code>--datadir=/home/apache</code>", la valeur
455 "<code>/home/apache/htdocs</code>" sera utilisée par défaut comme
456 racine des documents pour le conteneur suEXEC.</dd>
458 <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
460 <dd>Cette option définit l'identifiant utilisateur le plus bas
461 avec lequel un utilisateur pourra être la cible de
462 suEXEC. 500 ou 100 sont des valeurs courantes sur la plupart des
463 systèmes. la valeur par défaut est 100.</dd>
465 <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
467 <dd>Cette option définit l'identifiant de groupe le plus bas
468 avec lequel un utilisateur pourra être la cible de
469 suEXEC. 100 est une valeur courante sur la plupart des
470 systèmes et est par conséquent la valeur par défaut.</dd>
472 <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
474 <dd>Cette option permet de définir le fichier dans lequel
475 toutes les transactions et erreurs de suEXEC seront journalisées
476 (à des fins d'analyse ou de débogage). Par défaut, le fichier
477 journal se nomme "<code>suexec_log</code>" et se trouve dans votre
478 répertoire standard des fichiers journaux défini par
479 <code>--logfiledir</code></dd>
481 <dt><code>--with-suexec-syslog</code></dt>
483 <dd>Avec cette option, suexec enregistrera les messages d'erreurs
484 et d'informations dans le journal syslog. Cette option doit être
485 utilisée conjointement avec l'option
486 <code>--without-suexec-logfile</code>.</dd>
488 <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
490 <dd>Cette option permet de définir une variable d'environnement
491 PATH sûre à passer aux exécutables CGI. La valeur par défaut
492 est "<code>/usr/local/bin:/usr/bin:/bin</code>".</dd>
495 <h3>Compilation et installation du conteneur suEXEC</h3>
498 <p>Si vous avez activé la fonctionnalité suEXEC à l'aide de
499 l'option <code>--enable-suexec</code>, le binaire
500 <code>suexec</code> sera automatiquement construit (en même temps
501 que httpd) lorsque vous exécuterez la commande
502 <code>make</code>.</p>
504 <p>Lorsque tous les composants auront été construits, vous pourrez
505 exécuter la commande <code>make install</code> afin de les
506 installer. Le binaire <code>suexec</code> sera installé dans le
507 répertoire défini à l'aide de l'option <code>--sbindir</code>. La
508 localisation par défaut est "/usr/local/apache2/bin/suexec".</p>
509 <p>Veuillez noter que vous aurez besoin des
510 <strong><em>privilèges root</em></strong> pour passer l'étape de
511 l'installation. Pour que le conteneur puisse changer
512 l'identifiant utilisateur, il doit avoir comme propriétaire
513 <code><em>root</em></code>, et les droits du fichier doivent
514 inclure le bit d'exécution setuserid.</p>
517 <h3>>Mise en place de permissions pour
520 <p>Bien que le conteneur suEXEC vérifie que l'utilisateur qui
521 l'appelle correspond bien à l'utilisateur spécifié à l'aide de
522 l'option <code>--with-suexec-caller</code> du programme
523 <code class="program"><a href="./programs/configure.html">configure</a></code>, il subsiste toujours le risque qu'un
524 appel système ou une bibliothèque fasse appel à suEXEC avant que
525 cette vérification ne soit exploitable sur votre système. Pour
526 tenir compte de ceci, et parce que c'est en général la meilleure
527 pratique, vous devez utiliser les permissions du système de
528 fichiers afin de vous assurer que seul le groupe sous lequel
529 s'exécute httpd puisse faire appel à suEXEC.</p>
531 <p>Si, par exemple, votre serveur web est configuré pour
532 s'exécuter en tant que :</p>
534 <pre class="prettyprint lang-config">User www
538 <p>et <code class="program"><a href="./programs/suexec.html">suexec</a></code> se trouve à
539 "/usr/local/apache2/bin/suexec", vous devez exécuter les
542 <div class="example"><p><code>
543 chgrp webgroup /usr/local/apache2/bin/suexec<br />
544 chmod 4750 /usr/local/apache2/bin/suexec<br />
547 <p>Ceci permet de s'assurer que seul le groupe sous lequel httpd
548 s'exécute (ici webgroup) puisse faire appel au conteneur
551 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
552 <div class="section">
553 <h2><a name="enable" id="enable">Activation et désactivation
556 <p>Au démarrage, httpd vérifie la présence du fichier
557 <code class="program"><a href="./programs/suexec.html">suexec</a></code> dans le répertoire défini par
558 l'option <code>--sbindir</code> du script configure (le
559 répertoire par défaut est "/usr/local/apache/sbin/suexec"). Si
560 httpd trouve un conteneur suEXEC correctement configuré, il
561 enregistrera le message suivant dans le journal des erreurs :</p>
563 <div class="example"><p><code>
564 [notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>)
567 <p>Si ce message n'est pas généré au démarrage du serveur, ce
568 dernier ne trouve probablement pas le programme conteneur à
569 l'endroit où il est sensé être, ou l'exécutable suexec n'est pas
570 installé en <em>setuid root</em>.</p>
572 <p>Si le serveur HTTP Apache est déjà en cours d'exécution, et si
573 vous activez le mécanisme suEXEC pour la première fois, vous
574 devez arrêter et redémarrer httpd. Un redémarrage
575 à l'aide d'un simple signal HUP ou USR1 suffira. </p>
576 <p>Pour désactiver suEXEC, vous devez supprimer le fichier
577 <code class="program"><a href="./programs/suexec.html">suexec</a></code>, puis arrêter et redémarrer
579 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
580 <div class="section">
581 <h2><a name="usage" id="usage">Utilisation de suEXEC</a></h2>
583 <p>Les requêtes pour des programmes CGI ne feront appel au
584 conteneur suEXEC que si elles concernent un hôte virtuel
585 contenant une directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>, ou si elles sont
586 traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>.</p>
588 <p><strong>Hôtes virtuels :</strong><br /> Une des méthodes
589 d'utilisation du conteneur suEXEC consiste à insérer une
590 directive <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> dans une section
591 <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code>. En définissant
592 des valeurs différentes de celles du serveur principal, toutes les
593 requêtes pour des ressources CGI seront exécutées sous
594 les <em>User</em> et <em>Group</em> définis pour cette section
595 <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>. Si cette
596 directive est absente de la section <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>, l'utilisateur du
597 serveur principal sera pris par défaut</p>
599 <p><strong>Répertoires des utilisateurs :</strong><br /> Avec
601 requêtes traitées par <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> appelleront le
602 conteneur suEXEC pour exécuter le programme CGI sous l'identifiant
603 utilisateur du répertoire utilisateur concerné. Seuls prérequis
604 pour pouvoir accéder à cette fonctionnalité : l'exécution des CGI
605 doit être activée pour l'utilisateur concerné, et le script doit
606 passer avec succès le test des <a href="#model">vérifications de
607 sécurité</a> décrit plus haut. Voir aussi l'
608 <a href="#install">option de compilation</a>
609 <code>--with-suexec-userdir</code>.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
610 <div class="section">
611 <h2><a name="debug" id="debug">Débogage de suEXEC</a></h2>
613 <p>Le conteneur suEXEC va écrire ses informations de journalisation
614 dans le fichier défini par l'option de compilation
615 <code>--with-suexec-logfile</code> comme indiqué plus haut,
616 ou vers syslog si l'option <code>--with-suexec-syslog</code> est
618 pensez avoir configuré et installé correctement le conteneur,
619 consultez ce journal, ainsi que le journal des erreurs du serveur
620 afin de déterminer l'endroit où vous avez fait fausse
621 route. Si vous utilisez une distribution binaire, la commande
622 <code>"suexec -V"</code> vous permet de déterminer quelles options
623 ont été utilisées pour compiler suexec.</p>
625 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
626 <div class="section">
627 <h2><a name="jabberwock" id="jabberwock">Avis à la population !
628 Avertissements et exemples</a></h2>
630 <p><strong>NOTE !</strong> Cette section est peut-être incomplète.
631 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>.</p>
633 <p>Quelques points importants du conteneur peuvent
634 imposer des contraintes du point de vue de la configuration du
635 serveur. Veuillez en prendre connaissance avant de soumettre un
636 rapport de bogue à propos de suEXEC.</p>
639 <li><strong>Points importants de suEXEC</strong></li>
642 Limitations concernant la hiérarchie.
645 Pour des raisons de sécurité et d'efficacité, toutes les
646 requêtes suEXEC ne doivent concerner que des ressources
647 situées dans la racine des documents définie pour les
648 requêtes concernant un hôte virtuel, ou des ressources
649 situées dans la racine des documents définies pour les
650 requêtes concernant un répertoire utilisateur. Par exemple,
651 si vous avez configuré quatre hôtes virtuels, vous devrez
652 définir la structure des racines de documents de vos hôtes
653 virtuels en dehors d'une hiérarchie de documents principale
654 de httpd, afin de tirer parti de suEXEC dans le contexte des
655 hôtes virtuels (Exemple à venir).
660 La variable d'environnement PATH de suEXEC
663 Modifier cette variable peut s'avérer dangereux. Assurez-vous
664 que tout chemin que vous ajoutez à cette variable est un
665 répertoire <strong>de confiance</strong>. Vous n'avez
666 probablement pas l'intention d'ouvrir votre serveur de façon
667 à ce que l'on puisse y exécuter un cheval de Troie.
672 Modification de suEXEC
675 Encore une fois, ceci peut vous causer de
676 <strong>graves ennuis</strong> si vous vous y essayez sans
677 savoir ce que vous faites. Evitez de vous y risquer dans la
684 <div class="bottomlang">
685 <p><span>Langues Disponibles: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
686 <a href="./fr/suexec.html" title="Français"> fr </a> |
687 <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
688 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
689 <a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
690 </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>
691 <script type="text/javascript"><!--//--><![CDATA[//><!--
692 var comments_shortname = 'httpd';
693 var comments_identifier = 'http://httpd.apache.org/docs/trunk/suexec.html';
695 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
696 d.write('<div id="comments_thread"><\/div>');
697 var s = d.createElement('script');
698 s.type = 'text/javascript';
700 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
701 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
704 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
706 })(window, document);
707 //--><!]]></script></div><div id="footer">
708 <p class="apache">Copyright 2015 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
709 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.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[//><!--
710 if (typeof(prettyPrint) !== 'undefined') {