suexec.html.fr revision d58b9b74499c53472ad668dd918299f70c0c457a
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Support suEXEC - Serveur Apache HTTP</title>
<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<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" />
<script src="/style/scripts/prettify.js" type="text/javascript">
</script>
<link href="/images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<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>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="/images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Support suEXEC</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="/en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/suexec.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="/ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="/tr/suexec.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
</div>
<p>La fonctionnalit� <strong>suEXEC</strong> permet
l'ex�cution des programmes <strong>CGI</strong> et
<strong>SSI</strong> sous un utilisateur autre que celui sous
lequel s'ex�cute le serveur web qui appelle ces programmes.
Normalement, lorsqu'un programme CGI ou SSI est lanc�, il
s'ex�cute sous le m�me utilisateur que celui du serveur web qui
l'appelle.</p>
<p>Utilis�e de mani�re appropri�e, cette fonctionnalit� peut
r�duire consid�rablement les risques de s�curit� encourus
lorsqu'on autorise les utilisateurs � d�velopper et faire
s'ex�cuter des programmes CGI ou SSI de leur cru. Cependant, mal
configur�, suEXEC peut causer de nombreux probl�mes et m�me cr�er
de nouvelles failles dans la s�curit� de votre ordinateur. Si
vous n'�tes pas familier avec la gestion des programmes
<em>setuid root</em> et les risques de s�curit� qu'ils comportent,
nous vous recommandons vivement de ne pas tenter
d'utiliser suEXEC.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#before">Avant de commencer</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#model">Mod�le de s�curit� de suEXEC</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#install">Configurer et installer suEXEC</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#enable">Activation et d�sactivation
de suEXEC</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#usage">Utilisation de suEXEC</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#debug">D�bogage de suEXEC</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#jabberwock">Avis � la population !
Avertissements et exemples</a></li>
</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="before" id="before">Avant de commencer</a></h2>
<p>Avant de foncer t�te baiss�e dans la lecture de ce document,
vous devez tenir compte de certaines hypoth�ses concernant vous-m�me
et l'environnement dans lequel vous allez utiliser suexec.</p>
<p>Premi�rement, vous devez utiliser un syst�me d'exploitation
UNIX ou d�riv�, capable d'effectuer des op�rations
<strong>setuid</strong> et <strong>setgid</strong>. Tous les
exemples de commande sont donn�s en cons�quence. D'autres
plates-formes, m�me si elles supportent suEXEC, peuvent
avoir une configuration diff�rente.</p>
<p>Deuxi�mement, vous devez �tre familier avec les concepts de base
relatifs � la s�curit� de votre ordinateur et son administration.
Ceci implique la compr�hension des op�rations
<strong>setuid/setgid</strong> et des diff�rents effets qu'elles
peuvent produire sur votre syst�me et son niveau de s�curit�.</p>
<p>Troisi�mement, vous devez utiliser une version
<strong>non modifi�e</strong> du code de suEXEC. L'ensemble du
code de suEXEC a �t� scrut� et test� avec soin par les d�veloppeurs
et de nombreux b�ta testeurs. Toutes les pr�cautions ont �t� prises
pour s'assurer d'une base s�re de code non seulement simple, mais
aussi solide. La modification de ce code peut causer des probl�mes
inattendus et de nouveaux risques de s�curit�. Il est
<strong>vivement</strong> recommand� de ne pas modifier le code de
suEXEC, � moins que vous ne soyez un programmeur sp�cialiste des
particularit�s li�es � la s�curit�, et souhaitez partager votre
travail avec l'�quipe de d�veloppement du serveur HTTP Apache afin
de pouvoir en discuter.</p>
<p>Quatri�mement et derni�rement, l'�quipe de d�veloppement du
serveur HTTP Apache a d�cid� de ne
<strong>PAS</strong> inclure suEXEC dans l'installation par d�faut
d'Apache httpd. Pour pouvoir mettre en oeuvre suEXEC, l'administrateur
doit porter la plus grande attention aux d�tails. Apr�s avoir bien
r�fl�chi aux diff�rents points de la configuration de suEXEC,
l'administrateur peut l'installer selon les m�thodes classiques.
Les valeurs des param�tres de configuration doivent �tre
d�termin�es et sp�cifi�es avec soin par l'administrateur, afin de
maintenir la s�curit� du syst�me de mani�re appropri�e lors de
l'utilisation de la fonctionnalit� suEXEC. C'est par le biais de
ce processus minutieux que nous esp�rons r�server
l'installation de suEXEC aux administrateurs prudents et
suffisamment d�termin�s � vouloir l'utiliser.</p>
<p>Vous �tes encore avec nous ? Oui ? Bien.
Alors nous pouvons continuer !</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="model" id="model">Mod�le de s�curit� de suEXEC</a></h2>
<p>Avant d'installer et configurer suEXEC, nous allons tout d'abord
d�crire le mod�le de s�curit� que vous �tes sur le point
d'impl�menter. Vous devriez ainsi mieux comprendre ce qui se passe
vraiment � l'int�rieur de suEXEC et quelles pr�cautions ont �t�
prises pour pr�server la s�curit� de votre syst�me.</p>
<p><strong>suEXEC</strong> est bas� sur un programme "conteneur"
(wrapper) setuid qui est appel� par le serveur HTTP Apache principal.
Ce conteneur est appel� quand une requ�te HTTP concerne
un programme CGI ou SSI que l'administrateur
a d�cid� de faire s'ex�cuter
sous un utilisateur autre que celui du serveur principal.
Lorsqu'il re�oit une telle requ�te, Apache httpd fournit au conteneur
suEXEC le nom du programme, ainsi que les identifiants utilisateur
et groupe sous lesquels le programme doit s'ex�cuter.</p>
<p>Le conteneur effectue ensuite les v�rifications suivantes afin
de d�terminer la r�ussite ou l'�chec du processus -- si une seule
de ces conditions n'est pas v�rifi�e, le programme journalise
l'erreur et se termine en retournant un code d'erreur, sinon il
continue :</p>
<ol>
<li>
<strong>L'utilisateur qui ex�cute le conteneur est-il un
utilisateur valide de ce syst�me ?</strong>
<p class="indent">
Ceci permet de s'assurer que l'utilisateur qui ex�cute le
conteneur est vraiment un utilisateur appartenant au syst�me.
</p>
</li>
<li>
<strong>Le conteneur a-t-il �t� appel� avec un nombre
d'arguments correct ?</strong>
<p class="indent">
Le conteneur ne s'ex�cutera que si on lui fournit un nombre
d'arguments correct. Le serveur HTTP apache sait quel est le
bon format des arguments. Si le conteneur ne re�oit pas un
nombre d'arguments correct, soit il a �t� modifi�,
soit quelque chose ne va pas dans la portion suEXEC de
votre binaire Apache httpd.
</p>
</li>
<li>
<strong>Cet utilisateur valide est-il autoris� � ex�cuter le
conteneur ?</strong>
<p class="indent">
Cet utilisateur est-il celui autoris� � ex�cuter le
conteneur ? Un seul utilisateur (celui d'Apache) est
autoris� � ex�cuter ce programme.
</p>
</li>
<li>
<strong>Le chemin du programme CGI ou SSI cible est-il
non s�r ?</strong>
<p class="indent">
Le chemin du programme CGI ou SSI cible d�bute-t-il par un
'/' ou contient-il une r�f�rence arri�re '..' ? Ceci est
interdit ; le programme CGI ou SSI cible doit se trouver dans
la hi�rarchie de la racine des documents de suEXEC (voir
<code>--with-suexec-docroot=<em>DIR</em></code> ci-dessous).
</p>
</li>
<li>
<strong>Le nom utilisateur cible est-il valide ?</strong>
<p class="indent">
L'utilisateur cible existe-t-il ?
</p>
</li>
<li>
<strong>Le nom du groupe cible est-il valide ?</strong>
<p class="indent">
Le groupe cible existe-t-il ?
</p>
</li>
<li>
<strong>L'utilisateur cible n'est-il <em>PAS</em>
superutilisateur ?</strong>
<p class="indent">
suEXEc ne permet pas �
<code><em>root</em></code> d'ex�cuter des programmes CGI/SSI.
</p>
</li>
<li>
<strong>Le num�ro de l'identifiant de l'utilisateur cible
est-il <em>SUPERIEUR</em> au num�ro d'identifiant
minimum ?</strong>
<p class="indent">
Le num�ro d'identifiant utilisateur minimum est d�fini �
l'ex�cution du script configure. Ceci vous permet de d�finir
le num�ro d'identifiant utilisateur le plus bas qui sera
autoris� � �x�cuter des programmes CGI/SSI. En particulier,
cela permet d'�carter les comptes syst�me.
</p>
</li>
<li>
<strong>Le groupe cible n'est-il <em>PAS</em> le groupe
superutilisateur ?</strong>
<p class="indent">
Actuellement, suEXEC ne permet pas au groupe
<code><em>root</em></code> d'ex�cuter des programmes CGI/SSI.
</p>
</li>
<li>
<strong> Le num�ro d'identifiant du groupe cible est-il
<em>SUPERIEUR</em> au num�ro d'identifiant minimum ?</strong>
<p class="indent">
Le num�ro d'identifiant de groupe minimum est sp�cifi� lors
de l'ex�cution du script configure. Ceci vous permet de
d�finir l'identifiant de groupe le plus bas possible qui sera
autoris� � ex�cuter des programmes CGI/SSI, et est
particuli�rement utile pour �carter les groupes "syst�me".
</p>
</li>
<li>
<strong>Le conteneur peut-il obtenir avec succ�s l'identit�
des utilisateur et groupe cibles ?</strong>
<p class="indent">
C'est ici que le programme obtient l'identit� des utilisateur
et groupe cibles via des appels � setuid et setgid. De m�me,
la liste des acc�s groupe est initialis�e avec tous les
groupes auxquels l'utilisateur cible appartient.
</p>
</li>
<li>
<strong>Peut-on se positionner dans le r�pertoire dans dequel
sont situ�s les programmes CGI/SSI ?</strong>
<p class="indent">
S'il n'existe pas, il ne peut pas contenir de fichier. Et si
l'on ne peut pas s'y positionner, il n'existe probablement
pas.
</p>
</li>
<li>
<strong>Le r�pertoire est-il dans l'espace web
de httpd ?</strong>
<p class="indent">
Si la requ�te concerne une portion de la racine du serveur,
le r�pertoire demand� est-il dans la hi�rarchie de la racine
des documents de suEXEC ? Si la requ�te concerne un
<code class="directive"><a href="/mod/mod_userdir.html#userdir">UserDir</a></code>, le r�pertoire demand� est-il dans
la hi�rarchie du r�pertoire d�fini comme le r�pertoire
utilisateur de suEXEC (voir les
<a href="#install">options de configuration de suEXEC</a>) ?
</p>
</li>
<li>
<strong>L'�criture dans le r�pertoire est-elle interdite pour
un utilisateur autre que le propri�taire </strong>
<p class="indent">
Le r�pertoire ne doit pas �tre ouvert aux autres
utilisateurs ; seul l'utilisateur propri�taire doit pouvoir
modifier le contenu du r�pertoire.
</p>
</li>
<li>
<strong>Le programme CGI/SSI cible existe-t-il ?</strong>
<p class="indent">
S'il n'existe pas, il ne peut pas �tre ex�cut�.
</p>
</li>
<li>
<strong>Les utilisateurs autres que le propri�taire n'ont-ils
<em>PAS</em> de droits en �criture sur le programme
CGI/SSI ?</strong>
<p class="indent">
Les utilisateurs autres que le propri�taire ne doivent pas
pouvoir modifier le programme CGI/SSI.
</p>
</li>
<li>
<strong>Le programme CGI/SSI n'est-il <em>PAS</em> setuid ou
setgid ?</strong>
<p class="indent">
Les programmes cibles ne doivent pas pouvoir modifier �
nouveau les identifiants utilisateur/groupe.
</p>
</li>
<li>
<strong>Le couple utilisateur/groupe cible est-il le m�me que
celui du programme ?</strong>
<p class="indent">
L'utilisateur est-il le propri�taire du fichier ?
</p>
</li>
<li>
<strong>Peut-on nettoyer avec succ�s l'environnement des
processus afin de garantir la s�ret� des op�rations ?</strong>
<p class="indent">
suExec nettoie l'environnement des processus en �tablissant
un chemin d'ex�cution s�r (d�fini lors de la configuration),
et en ne passant que les variables dont les noms font partie
de la liste de l'environnement s�r (cr��e de m�me lors de la
configuration).
</p>
</li>
<li>
<strong>Le conteneur peut-il avec succ�s se substituer au
programme CGI/SSI cible et s'ex�cuter ?</strong>
<p class="indent">
C'est l� o� l'ex�cution de suEXEC s'arr�te et o� commence
celle du programme CGI/ssi cible.
</p>
</li>
</ol>
<p>Ce sont les op�rations standards effectu�es par le mod�le de
s�curit� du conteneur suEXEC. Il peut para�tre strict et est
susceptible d'imposer de nouvelles limitations et orientations
dans la conception des programmes CGI/SSI, mais il a �t� d�velopp�
avec le plus grand soin, �tape par �tape, en se focalisant sur
la s�curit�.</p>
<p>Pour plus d'informations sur la mesure dans laquelle ce mod�le
de s�curit� peut limiter vos possibilit�s au regard de la
configuration du serveur, ainsi que les risques de s�curit� qui
peuvent �tre �vit�s gr�ce � une configuration appropri�e de suEXEC,
se r�f�rer � la section <a href="#jabberwock">"Avis � la population !"</a> de ce document.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="install" id="install">Configurer et installer suEXEC</a></h2>
<p>C'est ici que nous entrons dans le vif du sujet.</p>
<p><strong>Options de configuration de suEXEC</strong><br />
</p>
<dl>
<dt><code>--enable-suexec</code></dt>
<dd>Cette option active la fonctionnalit� suEXEC qui n'est
jamais install�e ou activ�e par d�faut. Au moins une option
<code>--with-suexec-xxxxx</code> doit accompagner l'option
<code>--enable-suexec</code> pour qu'APACI (l'utilitaire de
configuration de la compilation d'Apache) accepte votre demande
d'utilisation de la fonctionnalit� suEXEC.</dd>
<dt><code>--enable-suexec-capabilities</code></dt>
<dd><strong>Sp�cifique � Linux :</strong> Normalement, le binaire
<code>suexec</code> est install� en mode "setuid/setgid root", ce
qui lui permet de s'ex�cuter avec la totalit� des privil�ges de
l'utilisateur root. Avec cette option, le binaire
<code>suexec</code> sera install� avec seulement les bits
setuid/setgid "capability" d�finis, ce qui constitue un
sous-ensemble des provil�ges de root pour les op�rations de
suexec. Notez que dans ce mode, le binaire <code>suexec</code> ne
sera pas en mesure d'�crire dans un fichier journal ; il est donc
recommand� dans ce mode d'utiliser les options
<code>--with-suexec-syslog --without-suexec-logfile</code>, afin
d'utiliser la jounalisation syslog.</dd>
<dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
<dd>Le chemin du binaire <code>suexec</code> doit �tre cod� en
dur dans le serveur pour des raisons de s�curit�. Cette option
vous permet de modifier le chemin par d�faut.
<em>Par exemple</em>
<code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
<dt><code>--with-suexec-caller=<em>UID</em></code></dt>
<dd>L'<a href="mod/mpm_common.html#user">utilisateur</a> sous
lequel httpd s'ex�cute habituellement. C'est le seul utilisateur
autoris� � ex�cuter le wrapper suEXEC.</dd>
<dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
<dd>Cette option d�finit le sous-r�pertoire de la hi�rarchie des
r�pertoires utilisateurs dans lequel l'utilisation
de suEXEC sera autoris�e. Tous les ex�cutables situ�s dans ce
r�pertoire seront ex�cutables par suEXEC sous l'utilisateur
cible ; ces programmes doivent donc �tre s�rs. Si vous utilisez
une directive <code class="directive"><a href="/mod/mod_userdir.html#userdir">UserDir</a></code>
"simple" (c'est � dire ne contenant pas de
"*"), l'option --with-suexec-userdir
devra contenir la m�me valeur. SuEXEC ne fonctionnera pas
correctement si la directive <code class="directive"><a href="/mod/mod_userdir.html#userdir">UserDir</a></code> contient une valeur
diff�rente du r�pertoire home de l'utilisateur tel qu'il est
d�fini dans le fichier <code>passwd</code>. la valeur par d�faut
est "<code>public_html</code>".<br />
Si vous avez plusieurs h�tes virtuels avec une directive
<code class="directive"><a href="/mod/mod_userdir.html#userdir">UserDir</a></code> diff�rente
pour chacun d'entre eux, vous devrez faire en sorte que chaque
UserDir poss�de un r�pertoire parent commun ; donnez alors �
l'option --with-suexec-userdir le nom
de ce r�pertoire commun. <strong>Si tout ceci n'est pas d�fini
correctement, les requ�tes CGI "~userdir" ne fonctionneront
pas !</strong></dd>
<dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
<dd>Cette option fonctionne comme la directive DocumentRoot pour
httpd. Il s'agit de la seule hi�rarchie (en dehors des directives
<code class="directive"><a href="/mod/mod_userdir.html#userdir">UserDir</a></code>) dans laquelle la fonctionnalit� suEXEC
pourra �tre utilis�e. La valeur par d�faut est la valeur de
<code>--datadir</code> accompagn�e du suffixe
"<code>/htdocs</code>" ;
<em>Par exemple</em>, si vous ex�cutez configure avec
"<code>--datadir=/home/apache</code>", la valeur
"<code>/home/apache/htdocs</code>" sera utilis�e par d�faut comme
racine des documents pour le conteneur suEXEC.</dd>
<dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
<dd>Cette option d�finit l'identifiant utilisateur le plus bas
avec lequel un utilisateur pourra �tre la cible de
suEXEC. 500 ou 100 sont des valeurs courantes sur la plupart des
syst�mes. la valeur par d�faut est 100.</dd>
<dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
<dd>Cette option d�finit l'identifiant de groupe le plus bas
avec lequel un utilisateur pourra �tre la cible de
suEXEC. 100 est une valeur courante sur la plupart des
syst�mes et est par cons�quent la valeur par d�faut.</dd>
<dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
<dd>Cette option permet de d�finir le fichier dans lequel
toutes les transactions et erreurs de suEXEC seront journalis�es
(� des fins d'analyse ou de d�bogage). Par d�faut, le fichier
journal se nomme "<code>suexec_log</code>" et se trouve dans votre
r�pertoire standard des fichiers journaux d�fini par
<code>--logfiledir</code></dd>
<dt><code>--with-suexec-syslog</code></dt>
<dd>Avec cette option, suexec enregistrera les messages d'erreurs
et d'informations dans le journal syslog. Cette option doit �tre
utilis�e conjointement avec l'option
<code>--without-suexec-logfile</code>.</dd>
<dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
<dd>Cette option permet de d�finir une variable d'environnement
PATH s�re � passer aux ex�cutables CGI. La valeur par d�faut
est "<code>/usr/local/bin:/usr/bin:/bin</code>".</dd>
</dl>
<h3>Compilation et installation du conteneur suEXEC</h3>
<p>Si vous avez activ� la fonctionnalit� suEXEC � l'aide de
l'option <code>--enable-suexec</code>, le binaire
<code>suexec</code> sera automatiquement construit (en m�me temps
que httpd) lorsque vous ex�cuterez la commande
<code>make</code>.</p>
<p>Lorsque tous les composants auront �t� construits, vous pourrez
ex�cuter la commande <code>make install</code> afin de les
installer. Le binaire <code>suexec</code> sera install� dans le
r�pertoire d�fini � l'aide de l'option <code>--sbindir</code>. La
localisation par d�faut est "/usr/local/apache2/bin/suexec".</p>
<p>Veuillez noter que vous aurez besoin des
<strong><em>privil�ges root</em></strong> pour passer l'�tape de
l'installation. Pour que le conteneur puisse changer
l'identifiant utilisateur, il doit avoir comme propri�taire
<code><em>root</em></code>, et les droits du fichier doivent
inclure le bit d'ex�cution setuserid.</p>
<h3>&gt;Mise en place de permissions pour
parano�aque</h3>
<p>Bien que le conteneur suEXEC v�rifie que l'utilisateur qui
l'appelle correspond bien � l'utilisateur sp�cifi� � l'aide de
l'option <code>--with-suexec-caller</code> du programme
<code class="program"><a href="/programs/configure.html">configure</a></code>, il subsiste toujours le risque qu'un
appel syst�me ou une biblioth�que fasse appel � suEXEC avant que
cette v�rification ne soit exploitable sur votre syst�me. Pour
tenir compte de ceci, et parce que c'est en g�n�ral la meilleure
pratique, vous devez utiliser les permissions du syst�me de
fichiers afin de vous assurer que seul le groupe sous lequel
s'ex�cute httpd puisse faire appel � suEXEC.</p>
<p>Si, par exemple, votre serveur web est configur� pour
s'ex�cuter en tant que :</p>
<pre class="prettyprint lang-config">
User www
Group webgroup
</pre>
<p>et <code class="program"><a href="/programs/suexec.html">suexec</a></code> se trouve �
"/usr/local/apache2/bin/suexec", vous devez ex�cuter les
commandes</p>
<div class="example"><p><code>
chgrp webgroup /usr/local/apache2/bin/suexec<br />
chmod 4750 /usr/local/apache2/bin/suexec<br />
</code></p></div>
<p>Ceci permet de s'assurer que seul le groupe sous lequel httpd
s'ex�cute (ici webgroup) puisse faire appel au conteneur
suEXEC.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="enable" id="enable">Activation et d�sactivation
de suEXEC</a></h2>
<p>Au d�marrage, httpd v�rifie la pr�sence du fichier
<code class="program"><a href="/programs/suexec.html">suexec</a></code> dans le r�pertoire d�fini par
l'option <code>--sbindir</code> du script configure (le
r�pertoire par d�faut est "/usr/local/apache/sbin/suexec"). Si
httpd trouve un conteneur suEXEC correctement configur�, il
enregistrera le message suivant dans le journal des erreurs :</p>
<div class="example"><p><code>
[notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>)
</code></p></div>
<p>Si ce message n'est pas g�n�r� au d�marrage du serveur, ce
dernier ne trouve probablement pas le programme conteneur �
l'endroit o� il est sens� �tre, ou l'ex�cutable suexec n'est pas
install� en <em>setuid root</em>.</p>
<p>Si le serveur HTTP Apache est d�j� en cours d'ex�cution, et si
vous activez le m�canisme suEXEC pour la premi�re fois, vous
devez arr�ter et red�marrer httpd. Un red�marrage
� l'aide d'un simple signal HUP ou USR1 suffira. </p>
<p>Pour d�sactiver suEXEC, vous devez supprimer le fichier
<code class="program"><a href="/programs/suexec.html">suexec</a></code>, puis arr�ter et red�marrer
httpd.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="usage" id="usage">Utilisation de suEXEC</a></h2>
<p>Les requ�tes pour des programmes CGI ne feront appel au
conteneur suEXEC que si elles concernent un h�te virtuel
contenant une directive <code class="directive"><a href="/mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>, ou si elles sont
trait�es par <code class="module"><a href="/mod/mod_userdir.html">mod_userdir</a></code>.</p>
<p><strong>H�tes virtuels :</strong><br /> Une des m�thodes
d'utilisation du conteneur suEXEC consiste � ins�rer une
directive <code class="directive"><a href="/mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> dans une section
<code class="directive"><a href="/mod/core.html#virtualhost">VirtualHost</a></code>. En d�finissant
des valeurs diff�rentes de celles du serveur principal, toutes les
requ�tes pour des ressources CGI seront ex�cut�es sous
les <em>User</em> et <em>Group</em> d�finis pour cette section
<code class="directive"><a href="/mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>. Si cette
directive est absente de la section <code class="directive"><a href="/mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>, l'utilisateur du
serveur principal sera pris par d�faut</p>
<p><strong>R�pertoires des utilisateurs :</strong><br /> Avec
cette m�thode, les
requ�tes trait�es par <code class="module"><a href="/mod/mod_userdir.html">mod_userdir</a></code> appelleront le
conteneur suEXEC pour ex�cuter le programme CGI sous l'identifiant
utilisateur du r�pertoire utilisateur concern�. Seuls pr�requis
pour pouvoir acc�der � cette fonctionnalit� : l'ex�cution des CGI
doit �tre activ�e pour l'utilisateur concern�, et le script doit
passer avec succ�s le test des <a href="#model">v�rifications de
s�curit�</a> d�crit plus haut. Voir aussi l'
<a href="#install">option de compilation</a>
<code>--with-suexec-userdir</code>.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="debug" id="debug">D�bogage de suEXEC</a></h2>
<p>Le conteneur suEXEC va �crire ses informations de journalisation
dans le fichier d�fini par l'option de compilation
<code>--with-suexec-logfile</code> comme indiqu� plus haut,
ou vers syslog si l'option <code>--with-suexec-syslog</code> est
utilis�e. Si vous
pensez avoir configur� et install� correctement le conteneur,
consultez ce journal, ainsi que le journal des erreurs du serveur
afin de d�terminer l'endroit o� vous avez fait fausse
route. Si vous utilisez une distribution binaire, la commande
<code>"suexec -V"</code> vous permet de d�terminer quelles options
ont �t� utilis�es pour compiler suexec.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="jabberwock" id="jabberwock">Avis � la population !
Avertissements et exemples</a></h2>
<p><strong>NOTE !</strong> Cette section est peut-�tre incompl�te.
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>
<p>Quelques points importants du conteneur peuvent
imposer des contraintes du point de vue de la configuration du
serveur. Veuillez en prendre connaissance avant de soumettre un
rapport de bogue � propos de suEXEC.</p>
<ul>
<li><strong>Points importants de suEXEC</strong></li>
<li>
Limitations concernant la hi�rarchie.
<p class="indent">
Pour des raisons de s�curit� et d'efficacit�, toutes les
requ�tes suEXEC ne doivent concerner que des ressources
situ�es dans la racine des documents d�finie pour les
requ�tes concernant un h�te virtuel, ou des ressources
situ�es dans la racine des documents d�finies pour les
requ�tes concernant un r�pertoire utilisateur. Par exemple,
si vous avez configur� quatre h�tes virtuels, vous devrez
d�finir la structure des racines de documents de vos h�tes
virtuels en dehors d'une hi�rarchie de documents principale
de httpd, afin de tirer parti de suEXEC dans le contexte des
h�tes virtuels (Exemple � venir).
</p>
</li>
<li>
La variable d'environnement PATH de suEXEC
<p class="indent">
Modifier cette variable peut s'av�rer dangereux. Assurez-vous
que tout chemin que vous ajoutez � cette variable est un
r�pertoire <strong>de confiance</strong>. Vous n'avez
probablement pas l'intention d'ouvrir votre serveur de fa�on
� ce que l'on puisse y ex�cuter un cheval de Troie.
</p>
</li>
<li>
Modification de suEXEC
<p class="indent">
Encore une fois, ceci peut vous causer de
<strong>graves ennuis</strong> si vous vous y essayez sans
savoir ce que vous faites. Evitez de vous y risquer dans la
mesure du possible.
</p>
</li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="/en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/suexec.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="/ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="/tr/suexec.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
</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&amp;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>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/suexec.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://c.apaste.info/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2012 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>