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