2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1673582 -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
10 Licensed to the Apache Software Foundation (ASF) under one or more
11 contributor license agreements. See the NOTICE file distributed with
12 this work for additional information regarding copyright ownership.
13 The ASF licenses this file to You under the Apache License, Version 2.0
14 (the "License"); you may not use this file except in compliance with
15 the License. You may obtain a copy of the License at
17 http://www.apache.org/licenses/LICENSE-2.0
19 Unless required by applicable law or agreed to in writing, software
20 distributed under the License is distributed on an "AS IS" BASIS,
21 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 See the License for the specific language governing permissions and
23 limitations under the License.
26 <modulesynopsis metafile="mod_authz_owner.xml.meta">
28 <name>mod_authz_owner</name>
29 <description>Autorisation basée sur l'appartenance des
30 fichiers</description>
31 <status>Extension</status>
32 <sourcefile>mod_authz_owner.c</sourcefile>
33 <identifier>authz_owner_module</identifier>
36 <p>Ce module permet de contrôler l'accès aux fichiers en comparant
37 l'identifiant utilisateur ayant servi à l'authentification HTTP
38 (l'identifiant utilisateur web) avec le propriétaire ou le groupe
39 du fichier demandé du point de vue du système de fichiers. Le nom
40 d'utilisateur et le mot de passe doivent déjà avoir été vérifiés par
41 un module d'authentification comme <module>mod_auth_basic</module>
42 ou <module>mod_auth_digest</module>.
43 <module>mod_authz_owner</module> reconnaît deux arguments pour la
44 directive <directive module="core">Require</directive> :
45 <code>file-owner</code> et <code>file-group</code> :</p>
48 <dt><code>file-owner</code></dt>
49 <dd>Le nom d'utilisateur web utilisé pour l'authentification doit
50 correspondre au nom système du propriétaire du fichier demandé. En
51 d'autres termes, si le système indique <code>jones</code> comme
52 propriétaire du fichier demandé, le nom d'utilisateur fourni pour
53 l'authentification HTTP doit aussi être <code>jones</code>.</dd>
55 <dt><code>file-group</code></dt>
56 <dd>Le nom du groupe système du fichier demandé doit être présent
57 dans une base de données de groupes fournie, par exemple, par
58 <module>mod_authz_groupfile</module> ou
59 <module>mod_authz_dbm</module>, et le nom d'utilisateur web fourni
60 pour l'authentification doit être un membre de ce groupe. Par
61 exemple, si le système indique que le groupe (système) du fichier
62 demandé est <code>accounts</code>, le groupe <code>accounts</code>
63 doit apparaître dans la base de données des groupes, et le nom
64 d'utilisateur web utilisé pour l'authentification doit être un
65 membre de ce groupe.</dd>
68 <note><title>Note</title>
69 <p>Si le module <module>mod_authz_owner</module> est utilisé pour
70 vérifier l'autorisation d'accès à une ressource qui n'est pas
71 vraiment présente dans le système de fichiers (en d'autres termes
72 une ressource virtuelle), il refusera l'accès.</p>
74 <p>En particulier, il n'accordera jamais l'accès à une ressource
75 du type <a href="../content-negotiation.html#multiviews">"Vues
76 multiples" (MultiViews) d'un contenu négocié</a>.</p>
79 <seealso><directive module="mod_authz_core">Require</directive></seealso>
81 <section id="examples"><title>Exemples de configuration</title>
83 <section id="examples.file-owner"><title>Require file-owner</title>
84 <p>Considérons un serveur Web Apache fonctionnant sous un système
85 multi-utilisateurs, où les fichiers de chaque utilisateur sont
86 stockés dans <code>~/public_html/private</code>. En supposant
87 qu'il n'existe qu'une seule base de données contenant les noms
88 d'utilisateurs web, et que ces noms d'utilisateurs correspondent
89 aux noms d'utilisateurs système qui sont les propriétaires
90 effectifs des fichiers, la configuration de l'exemple suivant
91 n'accordera l'autorisation d'accès aux fichiers qu'à leur
92 propriétaire. L'utilisateur <code>jones</code> ne sera pas
93 autorisé à accéder aux fichiers situés dans
94 <code>/home/smith/public_html/private</code>, à moins que leur
95 propriétaire ne soit <code>jones</code> au lieu de
96 <code>smith</code>.</p>
98 <highlight language="config">
99 <Directory "/home/*/public_html/private">
101 AuthName "MyPrivateFiles"
102 AuthBasicProvider dbm
103 AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all"
109 <section id="examples.file-group"><title>Require file-group</title>
110 <p>Considérons un système similaire à celui décrit ci-dessus, mais
111 où certains utilisateurs partagent leurs fichiers de projets dans
112 <code>~/public_html/project-foo</code>. Le groupe système des
113 fichiers est <code>foo</code>, et il n'existe qu'une seule base de
114 données <directive
115 module="mod_authz_dbm">AuthDBMGroupFile</directive> qui contient
116 tous les noms d'utilisateurs web et leurs groupes d'appartenance.
117 Ces noms d'utilisateurs web doivent alors appartenir au moins au
118 groupe <code>foo</code>. En d'autres termes, si <code>jones</code>
119 et <code>smith</code> sont tous deux membres du groupe
120 <code>foo</code>, ils seront autorisés à accéder aux
121 répertoires <code>project-foo</code> de chacun d'entre eux.</p>
123 <highlight language="config">
124 <Directory "/home/*/public_html/project-foo">
126 AuthName "Project Foo Files"
127 AuthBasicProvider dbm
129 # combined user/group database
130 AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all"
131 AuthDBMGroupFile "/usr/local/apache2/etc/.htdbm-all"