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.min.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.4</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.4</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 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 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 de certaines hypoth�ses concernant vous-m�me 66 et l'environnement dans lequel vous allez utiliser suexec.</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 donn�s en cons�quence. D'autres 72 plates-formes, m�me si elles supportent suEXEC, peuvent 73 avoir 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 l'�quipe de d�veloppement du serveur HTTP Apache afin 92 de pouvoir en discuter.</p> 93 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> 108 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> 114 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> 120 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> 130 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 135 continue :</p> 136 137 <ol> 138 <li> 139 <strong>L'utilisateur qui ex�cute le conteneur est-il un 140 utilisateur valide de ce syst�me ?</strong> 141 142 <p class="indent"> 143 Ceci permet de s'assurer que l'utilisateur qui ex�cute le 144 conteneur est vraiment un utilisateur appartenant au syst�me. 145 </p> 146 </li> 147 148 <li> 149 <strong>Le conteneur a-t-il �t� appel� avec un nombre 150 d'arguments correct ?</strong> 151 152 <p class="indent"> 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. 159 </p> 160 </li> 161 162 <li> 163 <strong>Cet utilisateur valide est-il autoris� � ex�cuter le 164 conteneur ?</strong> 165 166 <p class="indent"> 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. 170 </p> 171 </li> 172 173 <li> 174 <strong>Le chemin du programme CGI ou SSI cible est-il 175 non s�r ?</strong> 176 177 <p class="indent"> 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). 183 </p> 184 </li> 185 186 <li> 187 <strong>Le nom utilisateur cible est-il valide ?</strong> 188 189 <p class="indent"> 190 L'utilisateur cible existe-t-il ? 191 </p> 192 </li> 193 194 <li> 195 <strong>Le nom du groupe cible est-il valide ?</strong> 196 197 <p class="indent"> 198 Le groupe cible existe-t-il ? 199 </p> 200 </li> 201 202 <li> 203 <strong>L'utilisateur cible n'est-il <em>PAS</em> 204 superutilisateur ?</strong> 205 206 207 <p class="indent"> 208 suEXEc ne permet pas � 209 <code><em>root</em></code> d'ex�cuter des programmes CGI/SSI. 210 </p> 211 </li> 212 213 <li> 214 <strong>Le num�ro de l'identifiant de l'utilisateur cible 215 est-il <em>SUPERIEUR</em> au num�ro d'identifiant 216 minimum ?</strong> 217 218 <p class="indent"> 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. 224 </p> 225 </li> 226 227 <li> 228 <strong>Le groupe cible n'est-il <em>PAS</em> le groupe 229 superutilisateur ?</strong> 230 231 <p class="indent"> 232 Actuellement, suEXEC ne permet pas au groupe 233 <code><em>root</em></code> d'ex�cuter des programmes CGI/SSI. 234 </p> 235 </li> 236 237 <li> 238 <strong> Le num�ro d'identifiant du groupe cible est-il 239 <em>SUPERIEUR</em> au num�ro d'identifiant minimum ?</strong> 240 241 <p class="indent"> 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". 247 </p> 248 </li> 249 250 <li> 251 <strong>Le conteneur peut-il obtenir avec succ�s l'identit� 252 des utilisateur et groupe cibles ?</strong> 253 254 <p class="indent"> 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. 259 </p> 260 </li> 261 262 <li> 263 <strong>Peut-on se positionner dans le r�pertoire dans dequel 264 sont situ�s les programmes CGI/SSI ?</strong> 265 266 <p class="indent"> 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 269 pas. 270 </p> 271 </li> 272 273 <li> 274 <strong>Le r�pertoire est-il dans l'espace web 275 de httpd ?</strong> 276 277 <p class="indent"> 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>) ? 285 </p> 286 </li> 287 288 <li> 289 <strong>L'�criture dans le r�pertoire est-elle interdite pour 290 un utilisateur autre que le propri�taire </strong> 291 292 <p class="indent"> 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. 296 </p> 297 </li> 298 299 <li> 300 <strong>Le programme CGI/SSI cible existe-t-il ?</strong> 301 302 <p class="indent"> 303 S'il n'existe pas, il ne peut pas �tre ex�cut�. 304 </p> 305 </li> 306 307 <li> 308 <strong>Les utilisateurs autres que le propri�taire n'ont-ils 309 <em>PAS</em> de droits en �criture sur le programme 310 CGI/SSI ?</strong> 311 312 <p class="indent"> 313 Les utilisateurs autres que le propri�taire ne doivent pas 314 pouvoir modifier le programme CGI/SSI. 315 </p> 316 </li> 317 318 <li> 319 <strong>Le programme CGI/SSI n'est-il <em>PAS</em> setuid ou 320 setgid ?</strong> 321 322 <p class="indent"> 323 Les programmes cibles ne doivent pas pouvoir modifier � 324 nouveau les identifiants utilisateur/groupe. 325 </p> 326 </li> 327 328 <li> 329 <strong>Le couple utilisateur/groupe cible est-il le m�me que 330 celui du programme ?</strong> 331 332 <p class="indent"> 333 L'utilisateur est-il le propri�taire du fichier ? 334 </p> 335 </li> 336 337 <li> 338 <strong>Peut-on nettoyer avec succ�s l'environnement des 339 processus afin de garantir la s�ret� des op�rations ?</strong> 340 341 <p class="indent"> 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 346 configuration). 347 </p> 348 </li> 349 350 <li> 351 <strong>Le conteneur peut-il avec succ�s se substituer au 352 programme CGI/SSI cible et s'ex�cuter ?</strong> 353 354 <p class="indent"> 355 C'est l� o� l'ex�cution de suEXEC s'arr�te et o� commence 356 celle du programme CGI/ssi cible. 357 </p> 358 </li> 359 </ol> 360 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 366 la s�curit�.</p> 367 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> 376 377 <p>C'est ici que nous entrons dans le vif du sujet.</p> 378 379 <p><strong>Options de configuration de suEXEC</strong><br /> 380 </p> 381 382 <dl> 383 <dt><code>--enable-suexec</code></dt> 384 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> 391 392 <dt><code>--with-suexec-bin=<em>PATH</em></code></dt> 393 394 <dd>Le chemin du binaire <code>suexec</code> doit �tre cod� en 395 dur dans le serveur pour des raisons de s�curit�. Cette option 396 vous permet de modifier le chemin par d�faut. 397 <em>Par exemple</em> 398 <code>--with-suexec-bin=/usr/sbin/suexec</code></dd> 399 400 <dt><code>--with-suexec-caller=<em>UID</em></code></dt> 401 402 <dd>L'<a href="mod/mpm_common.html#user">utilisateur</a> sous 403 lequel httpd s'ex�cute habituellement. C'est le seul utilisateur 404 autoris� � ex�cuter le wrapper suEXEC.</dd> 405 406 <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt> 407 408 <dd>Cette option d�finit le sous-r�pertoire de la hi�rarchie des 409 r�pertoires utilisateurs dans lequel l'utilisation 410 de suEXEC sera autoris�e. Tous les ex�cutables situ�s dans ce 411 r�pertoire seront ex�cutables par suEXEC sous l'utilisateur 412 cible ; ces programmes doivent donc �tre s�rs. Si vous utilisez 413 une directive <code class="directive"><a href="/mod/mod_userdir.html#userdir">UserDir</a></code> 414 "simple" (c'est � dire ne contenant pas de 415 "*"), l'option --with-suexec-userdir 416 devra contenir la m�me valeur. SuEXEC ne fonctionnera pas 417 correctement si la directive <code class="directive"><a href="/mod/mod_userdir.html#userdir">UserDir</a></code> contient une valeur 418 diff�rente du r�pertoire home de l'utilisateur tel qu'il est 419 d�fini dans le fichier <code>passwd</code>. la valeur par d�faut 420 est "<code>public_html</code>".<br /> 421 Si vous avez plusieurs h�tes virtuels avec une directive 422 <code class="directive"><a href="/mod/mod_userdir.html#userdir">UserDir</a></code> diff�rente 423 pour chacun d'entre eux, vous devrez faire en sorte que chaque 424 UserDir poss�de un r�pertoire parent commun ; donnez alors � 425 l'option --with-suexec-userdir le nom 426 de ce r�pertoire commun. <strong>Si tout ceci n'est pas d�fini 427 correctement, les requ�tes CGI "~userdir" ne fonctionneront 428 pas !</strong></dd> 429 430 <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt> 431 432 <dd>Cette option fonctionne comme la directive DocumentRoot pour 433 httpd. Il s'agit de la seule hi�rarchie (en dehors des directives 434 <code class="directive"><a href="/mod/mod_userdir.html#userdir">UserDir</a></code>) dans laquelle la fonctionnalit� suEXEC 435 pourra �tre utilis�e. La valeur par d�faut est la valeur de 436 <code>--datadir</code> accompagn�e du suffixe 437 "<code>/htdocs</code>" ; 438 <em>Par exemple</em>, si vous ex�cutez configure avec 439 "<code>--datadir=/home/apache</code>", la valeur 440 "<code>/home/apache/htdocs</code>" sera utilis�e par d�faut comme 441 racine des documents pour le conteneur suEXEC.</dd> 442 443 <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt> 444 445 <dd>Cette option d�finit l'identifiant utilisateur le plus bas 446 avec lequel un utilisateur pourra �tre la cible de 447 suEXEC. 500 ou 100 sont des valeurs courantes sur la plupart des 448 syst�mes. la valeur par d�faut est 100.</dd> 449 450 <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt> 451 452 <dd>Cette option d�finit l'identifiant de groupe le plus bas 453 avec lequel un utilisateur pourra �tre la cible de 454 suEXEC. 100 est une valeur courante sur la plupart des 455 syst�mes et est par cons�quent la valeur par d�faut.</dd> 456 457 <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt> 458 459 <dd>Cette option permet de d�finir le fichier dans lequel 460 toutes les transactions et erreurs de suEXEC seront journalis�es 461 (� des fins d'analyse ou de d�bogage). Par d�faut, le fichier 462 journal se nomme "<code>suexec_log</code>" et se trouve dans votre 463 r�pertoire standard des fichiers journaux d�fini par 464 <code>--logfiledir</code></dd> 465 466 <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt> 467 468 <dd>Cette option permet de d�finir une variable d'environnement 469 PATH s�re � passer aux ex�cutables CGI. La valeur par d�faut 470 est "<code>/usr/local/bin:/usr/bin:/bin</code>".</dd> 471 </dl> 472 473 <h3>Compilation et installation du conteneur suEXEC</h3> 474 475 476 <p>Si vous avez activ� la fonctionnalit� suEXEC � l'aide de 477 l'option <code>--enable-suexec</code>, le binaire 478 <code>suexec</code> sera automatiquement construit (en m�me temps 479 que httpd) lorsque vous ex�cuterez la commande 480 <code>make</code>.</p> 481 482 <p>Lorsque tous les composants auront �t� construits, vous pourrez 483 ex�cuter la commande <code>make install</code> afin de les 484 installer. Le binaire <code>suexec</code> sera install� dans le 485 r�pertoire d�fini � l'aide de l'option <code>--sbindir</code>. La 486 localisation par d�faut est "/usr/local/apache2/bin/suexec".</p> 487 <p>Veuillez noter que vous aurez besoin des 488 <strong><em>privil�ges root</em></strong> pour passer l'�tape de 489 l'installation. Pour que le conteneur puisse changer 490 l'identifiant utilisateur, il doit avoir comme propri�taire 491 <code><em>root</em></code>, et les droits du fichier doivent 492 inclure le bit d'ex�cution setuserid.</p> 493 494 495 <h3>>Mise en place de permissions pour 496 parano�aque</h3> 497 498 <p>Bien que le conteneur suEXEC v�rifie que l'utilisateur qui 499 l'appelle correspond bien � l'utilisateur sp�cifi� � l'aide de 500 l'option <code>--with-suexec-caller</code> du programme 501 <code class="program"><a href="/programs/configure.html">configure</a></code>, il subsiste toujours le risque qu'un 502 appel syst�me ou une biblioth�que fasse appel � suEXEC avant que 503 cette v�rification ne soit exploitable sur votre syst�me. Pour 504 tenir compte de ceci, et parce que c'est en g�n�ral la meilleure 505 pratique, vous devez utiliser les permissions du syst�me de 506 fichiers afin de vous assurer que seul le groupe sous lequel 507 s'ex�cute httpd puisse faire appel � suEXEC.</p> 508 509 <p>Si, par exemple, votre serveur web est configur� pour 510 s'ex�cuter en tant que :</p> 511 512<pre class="prettyprint lang-config">User www 513Group webgroup</pre> 514 515 516 <p>et <code class="program"><a href="/programs/suexec.html">suexec</a></code> se trouve � 517 "/usr/local/apache2/bin/suexec", vous devez ex�cuter les 518 commandes</p> 519 520<div class="example"><p><code> 521 chgrp webgroup /usr/local/apache2/bin/suexec<br /> 522 chmod 4750 /usr/local/apache2/bin/suexec<br /> 523</code></p></div> 524 525 <p>Ceci permet de s'assurer que seul le groupe sous lequel httpd 526 s'ex�cute (ici webgroup) puisse faire appel au conteneur 527 suEXEC.</p> 528 529</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 530<div class="section"> 531<h2><a name="enable" id="enable">Activation et d�sactivation 532de suEXEC</a></h2> 533 534 <p>Au d�marrage, httpd v�rifie la pr�sence du fichier 535 <code class="program"><a href="/programs/suexec.html">suexec</a></code> dans le r�pertoire d�fini par 536 l'option <code>--sbindir</code> du script configure (le 537 r�pertoire par d�faut est "/usr/local/apache/sbin/suexec"). Si 538 httpd trouve un conteneur suEXEC correctement configur�, il 539 enregistrera le message suivant dans le journal des erreurs :</p> 540 541<div class="example"><p><code> 542 [notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>) 543</code></p></div> 544 545 <p>Si ce message n'est pas g�n�r� au d�marrage du serveur, ce 546 dernier ne trouve probablement pas le programme conteneur � 547 l'endroit o� il est sens� �tre, ou l'ex�cutable suexec n'est pas 548 install� en <em>setuid root</em>.</p> 549 550 <p>Si le serveur HTTP Apache est d�j� en cours d'ex�cution, et si 551 vous activez le m�canisme suEXEC pour la premi�re fois, vous 552 devez arr�ter et red�marrer httpd. Un red�marrage 553 � l'aide d'un simple signal HUP ou USR1 suffira. </p> 554 <p>Pour d�sactiver suEXEC, vous devez supprimer le fichier 555 <code class="program"><a href="/programs/suexec.html">suexec</a></code>, puis arr�ter et red�marrer 556 httpd.</p> 557</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 558<div class="section"> 559<h2><a name="usage" id="usage">Utilisation de suEXEC</a></h2> 560 561 <p>Les requ�tes pour des programmes CGI ne feront appel au 562 conteneur suEXEC que si elles concernent un h�te virtuel 563 contenant une directive <code class="directive"><a href="/mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>, ou si elles sont 564 trait�es par <code class="module"><a href="/mod/mod_userdir.html">mod_userdir</a></code>.</p> 565 566 <p><strong>H�tes virtuels :</strong><br /> Une des m�thodes 567 d'utilisation du conteneur suEXEC consiste � ins�rer une 568 directive <code class="directive"><a href="/mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> dans une section 569 <code class="directive"><a href="/mod/core.html#virtualhost">VirtualHost</a></code>. En d�finissant 570 des valeurs diff�rentes de celles du serveur principal, toutes les 571 requ�tes pour des ressources CGI seront ex�cut�es sous 572 les <em>User</em> et <em>Group</em> d�finis pour cette section 573 <code class="directive"><a href="/mod/core.html#virtualhost"><VirtualHost></a></code>. Si cette 574 directive est absente de la section <code class="directive"><a href="/mod/core.html#virtualhost"><VirtualHost></a></code>, l'utilisateur du 575 serveur principal sera pris par d�faut</p> 576 577 <p><strong>R�pertoires des utilisateurs :</strong><br /> Avec 578 cette m�thode, les 579 requ�tes trait�es par <code class="module"><a href="/mod/mod_userdir.html">mod_userdir</a></code> appelleront le 580 conteneur suEXEC pour ex�cuter le programme CGI sous l'identifiant 581 utilisateur du r�pertoire utilisateur concern�. Seuls pr�requis 582 pour pouvoir acc�der � cette fonctionnalit� : l'ex�cution des CGI 583 doit �tre activ�e pour l'utilisateur concern�, et le script doit 584 passer avec succ�s le test des <a href="#model">v�rifications de 585 s�curit�</a> d�crit plus haut. Voir aussi l' 586 <a href="#install">option de compilation</a> 587 <code>--with-suexec-userdir</code>.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 588<div class="section"> 589<h2><a name="debug" id="debug">D�bogage de suEXEC</a></h2> 590 591 <p>Le conteneur suEXEC va �crire ses informations de journalisation 592 dans le fichier d�fini par l'option de compilation 593 <code>--with-suexec-logfile</code> comme indiqu� plus haut. Si vous 594 pensez avoir configur� et install� correctement le conteneur, 595 consultez ce journal, ainsi que le journal des erreurs du serveur 596 afin de d�terminer l'endroit o� vous avez fait fausse route.</p> 597 598</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 599<div class="section"> 600<h2><a name="jabberwock" id="jabberwock">Avis � la population ! 601 Avertissements et exemples</a></h2> 602 603 <p><strong>NOTE !</strong> Cette section est peut-�tre incompl�te. 604 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> 605 606 <p>Quelques points importants du conteneur peuvent 607 imposer des contraintes du point de vue de la configuration du 608 serveur. Veuillez en prendre connaissance avant de soumettre un 609 rapport de bogue � propos de suEXEC.</p> 610 611 <ul> 612 <li><strong>Points importants de suEXEC</strong></li> 613 614 <li> 615 Limitations concernant la hi�rarchie. 616 617 <p class="indent"> 618 Pour des raisons de s�curit� et d'efficacit�, toutes les 619 requ�tes suEXEC ne doivent concerner que des ressources 620 situ�es dans la racine des documents d�finie pour les 621 requ�tes concernant un h�te virtuel, ou des ressources 622 situ�es dans la racine des documents d�finies pour les 623 requ�tes concernant un r�pertoire utilisateur. Par exemple, 624 si vous avez configur� quatre h�tes virtuels, vous devrez 625 d�finir la structure des racines de documents de vos h�tes 626 virtuels en dehors d'une hi�rarchie de documents principale 627 de httpd, afin de tirer parti de suEXEC dans le contexte des 628 h�tes virtuels (Exemple � venir). 629 </p> 630 </li> 631 632 <li> 633 La variable d'environnement PATH de suEXEC 634 635 <p class="indent"> 636 Modifier cette variable peut s'av�rer dangereux. Assurez-vous 637 que tout chemin que vous ajoutez � cette variable est un 638 r�pertoire <strong>de confiance</strong>. Vous n'avez 639 probablement pas l'intention d'ouvrir votre serveur de fa�on 640 � ce que l'on puisse y ex�cuter un cheval de Troie. 641 </p> 642 </li> 643 644 <li> 645 Modification de suEXEC 646 647 <p class="indent"> 648 Encore une fois, ceci peut vous causer de 649 <strong>graves ennuis</strong> si vous vous y essayez sans 650 savoir ce que vous faites. Evitez de vous y risquer dans la 651 mesure du possible. 652 </p> 653 </li> 654 </ul> 655 656</div></div> 657<div class="bottomlang"> 658<p><span>Langues Disponibles: </span><a href="/en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> | 659<a href="/fr/suexec.html" title="Fran�ais"> fr </a> | 660<a href="/ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 661<a href="/ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 662<a href="/tr/suexec.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p> 663</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> 664<script type="text/javascript"><!--//--><![CDATA[//><!-- 665var comments_shortname = 'httpd'; 666var comments_identifier = 'http://httpd.apache.org/docs/2.4/suexec.html'; 667(function(w, d) { 668 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 669 d.write('<div id="comments_thread"><\/div>'); 670 var s = d.createElement('script'); 671 s.type = 'text/javascript'; 672 s.async = true; 673 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 674 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 675 } 676 else { 677 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 678 } 679})(window, document); 680//--><!]]></script></div><div id="footer"> 681<p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> 682<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[//><!-- 683if (typeof(prettyPrint) !== 'undefined') { 684 prettyPrint(); 685} 686//--><!]]></script> 687</body></html>