summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod/mod_userdir.xml.fr
blob: 56b1c3805a5cc9f225b82b4a371d3d87900080f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision: 1875785 -->
<!-- French translation : Lucien GENTIS -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<modulesynopsis metafile="mod_userdir.xml.meta">

<name>mod_userdir</name>
<description>Répertoires propres à un utilisateur</description>
<status>Base</status>
<sourcefile>mod_userdir.c</sourcefile>
<identifier>userdir_module</identifier>

<summary>
<note type="warning">En activant ce module, vous permettez à plusieurs
utilisateurs de stocker des contenus sous un seul noeud de l'arborescence. La
politique de stockage sous un seul noeud de l'arborescence est un principe clé de
Javascript et de la sécurité du web. En stockant des pages web sous un seul noeud
de l'arborescence, celles-ci peuvent se lire et se contrôler mutuellement et
d'éventuels problèmes de sécurité liés à une page peut affecter les autres. Ceci
peut s'avérer particulièrement dangereux dans le cas des pages web mettant en
oeuvre du contenu dynamique et de l'authentification et lorsque les utilisateurs
ne se voient pas tous forcément d'un bon oeil.</note>

<p>Ce module permet l'accès aux répertoires propres à un utilisateur en
utilisant la syntaxe <code>http://example.com/~utilisateur/</code>.</p>
</summary>

<seealso><a href="../urlmapping.html">Mise en correspondance des URLs
avec le système de fichiers</a></seealso>
<seealso><a href="../howto/public_html.html">Tutoriel
public_html</a></seealso>

<directivesynopsis>

<name>UserDir</name>
<description>Chemin des répertoires propres à un
utilisateur</description>
<syntax>UserDir <em>nom-répertoire</em> [<em>nom-répertoire</em>] ...
</syntax>
<contextlist><context>server config</context>
<context>virtual host</context></contextlist>

<usage>

    <p>La directive <directive>UserDir</directive> permet de définir le
    répertoire réel du répertoire home d'un utilisateur à utiliser à la
    réception d'une requête pour un document de cet utilisateur.
    <em>nom-répertoire</em> peut se présenter sous la forme suivante
    :</p>

    <ul>
      <li>Le nom d'un répertoire ou un modèle tel que ceux présentés
      ci-dessous.</li>

      <li>Le mot-clé <code>disabled</code>. <em>Toutes</em> les
      traductions nom d'utilisateur vers répertoire sont alors
      désactivées, à l'exception de celles comportant le mot-clé
      <code>enabled</code> (voir ci-dessous).</li>

      <li>Le mot-clé <code>disabled</code> suivi d'une liste de noms
      d'utilisateurs séparés par des espaces. Les noms d'utilisateurs
      apparaissant dans une telle liste ne feront <em>jamais</em>
      l'objet d'une traduction vers un répertoire, même dans le cas où
      ils apparaîtront dans une clause <code>enabled</code>.</li>

      <li>Le mot-clé <code>enabled</code> suivi d'une liste de noms
      d'utilisateurs séparés par des espaces. Les noms d'utilisateurs
      apparaissant dans une telle liste seront traduits en répertoires
      même dans le cas où une clause disable globale est active, mais
      pas s'ils apparaissent aussi dans une clause
      <code>disabled</code>.</li>
    </ul>

    <p>Si aucun mot-clé <code>enabled</code> ou <code>disabled</code>
    n'apparait dans la directive <directive>Userdir</directive>, l'argument est
    traité en tant que modèle de fichier, et utilisé pour traduire le
    nom d'utilisateur en une spécification de répertoire. Une requête
    pour <code>http://www.example.com/~bob/un/deux.html</code> sera
    traduite en :</p>

    <table>
      <tr><th>Directive Userdir utilisée</th>
          <th>Chemin traduit</th></tr>
      <tr><td>UserDir public_html</td>
          <td>~bob/public_html/un/deux.html</td></tr>
      <tr><td>UserDir /usr/web</td>
          <td>/usr/web/bob/un/deux.html</td></tr>
      <tr><td>UserDir /home/*/www</td>
          <td>/home/bob/www/un/deux.html</td></tr>
    </table>

    <p>Les directives suivantes vont envoyer des redirections au client
    :</p>

    <table>
      <tr><th>Directive Userdir utilisée</th>
          <th>Chemin traduit</th></tr>
      <tr><td>UserDir http://www.example.com/utilisateurs</td>
          <td>http://www.example.com/utilisateurs/bob/un/deux.html</td></tr>
      <tr><td>UserDir http://www.example.com/*/usr</td>
          <td>http://www.example.com/bob/usr/un/deux.html</td></tr>
      <tr><td>UserDir http://www.example.com/~*/</td>
          <td>http://www.example.com/~bob/un/deux.html</td></tr>
    </table>

    <note>
      <strong>Soyez prudent avec cette directive ; par exemple,
      <code>"UserDir ./"</code> ferait correspondre
      <code>"/~root"</code> à <code>"/"</code> - ce qui n'est
      probablement pas souhaité. Il est fortement recommandé d'inclure
      une déclaration "<code>UserDir disabled root</code>" dans votre
      configuration. Voir aussi la directive <directive
      module="core">Directory</directive> et la page <a
      href="../misc/security_tips.html">Conseils en matière de
      sécurité</a> pour plus d'informations.</strong>
    </note>

    <p>Exemples supplémentaires :</p>

    <p>Pour permettre à quelques utilisateurs et seulement à ceux-ci de
    posséder des répertoires <code>UserDir</code>, utilisez la
    configuration suivante :</p>

    <highlight language="config">
UserDir disabled
UserDir enabled user1 user2 user3
    </highlight>

    <p>Pour permettre à la plupart des utilisateurs de posséder des
    répertoires <code>UserDir</code>, mais l'interdire à quelques uns,
    utilisez la configuration suivante :</p>

    <highlight language="config">
      UserDir disabled utilisateur4 utilisateur5 utilisateur6
    </highlight>

    <p>Il est aussi possible de spécifier des répertoires utilisateurs
    alternatifs. Si vous utilisez une commande comme :</p>

    <highlight language="config">
      UserDir "public_html" "/usr/web" "http://www.example.com/"
    </highlight>

    <p>Avec une requête pour
    <code>http://www.example.com/~bob/un/deux.html</code>, le serveur
    tentera tout d'abord de trouver la page à
    <code>~bob/public_html/un/deux.html</code>, puis à
    <code>/usr/web/bob/un/deux.html</code>, et enfin il enverra une
    redirection vers
    <code>http://www.example.com/bob/un/deux.html</code>.</p>

    <p>Si vous spécifiez une redirection, elle doit être la dernière
    alternative de la liste. Apache httpd ne pouvant pas déterminer si la
    redirection a réussi, si cette dernière ne se trouve pas en fin de
    liste, c'est cette alternative qui sera toujours utilisée.</p>

    <p>La substitution de répertoire utilisateur n'est pas activée par
    défaut depuis la version 2.1.4. Dans les versions précédentes,
    <code>UserDir public_html</code> était sous-entendu si aucune
    directive <directive>UserDir</directive>
    n'était présente.</p>

    <note><title>Détails à propos de la fusion</title>
    <p>Lorsqu'on passe du contexte global au contexte de serveur
    virtuel, les listes d'utilisateurs spécifiques activés ou désactivés
    sont remplacées par les listes du contexte, et non fusionnées.</p></note>

</usage>

<seealso>
  <a href="../howto/public_html.html">Tutoriel sur les répertoires web
  utilisateur</a>
</seealso>

</directivesynopsis>
</modulesynopsis>