| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> |
| <!-- English Revision: 1673563 --> |
| <!-- French translation : Lucien GENTIS --> |
| <!-- Reviewed by : Vincent Deffontaines --> |
| |
| |
| <!-- |
| 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_authz_owner.xml.meta"> |
| |
| <name>mod_authz_owner</name> |
| <description>Autorisation basée sur l'appartenance des |
| fichiers</description> |
| <status>Extension</status> |
| <sourcefile>mod_authz_owner.c</sourcefile> |
| <identifier>authz_owner_module</identifier> |
| <compatibility>Disponible depuis les versions 2.1 et supérieures |
| d'Apache</compatibility> |
| |
| <summary> |
| <p>Ce module permet de contrôler l'accès aux fichiers en comparant |
| l'identifiant utilisateur ayant servi à l'authentification HTTP |
| (l'identifiant utilisateur web) avec le propriétaire ou le groupe |
| du fichier demandé du point de vue du système de fichiers. Le nom |
| d'utilisateur et le mot de passe doivent déjà avoir été vérifiés par |
| un module d'authentification comme <module>mod_auth_basic</module> |
| ou <module>mod_auth_digest</module>. |
| <module>mod_authz_owner</module> reconnaît deux arguments pour la |
| directive <directive module="core">Require</directive> : |
| <code>file-owner</code> et <code>file-group</code> :</p> |
| |
| <dl> |
| <dt><code>file-owner</code></dt> |
| <dd>Le nom d'utilisateur web utilisé pour l'authentification doit |
| correspondre au nom système du propriétaire du fichier demandé. En |
| d'autres termes, si le système indique <code>jones</code> comme |
| propriétaire du fichier demandé, le nom d'utilisateur fourni pour |
| l'authentification HTTP doit aussi être <code>jones</code>.</dd> |
| |
| <dt><code>file-group</code></dt> |
| <dd>Le nom du groupe système du fichier demandé doit être présent |
| dans une base de données de groupes fournie, par exemple, par |
| <module>mod_authz_groupfile</module> ou |
| <module>mod_authz_dbm</module>, et le nom d'utilisateur web fourni |
| pour l'authentification doit être un membre de ce groupe. Par |
| exemple, si le système indique que le groupe (système) du fichier |
| demandé est <code>accounts</code>, le groupe <code>accounts</code> |
| doit apparaître dans la base de données des groupes, et le nom |
| d'utilisateur web utilisé pour l'authentification doit être un |
| membre de ce groupe.</dd> |
| </dl> |
| |
| <note><title>Note</title> |
| <p>Si le module <module>mod_authz_owner</module> est utilisé pour |
| vérifier l'autorisation d'accès à une ressource qui n'est pas |
| vraiment présente dans le système de fichiers (en d'autres termes |
| une ressource virtuelle), il refusera l'accès.</p> |
| |
| <p>En particulier, il n'accordera jamais l'accès à une ressource |
| du type <a href="../content-negotiation.html#multiviews">"Vues |
| multiples" (MultiViews) d'un contenu négocié</a>.</p> |
| </note> |
| </summary> |
| <seealso><directive module="mod_authz_core">Require</directive></seealso> |
| |
| <section id="examples"><title>Exemples de configuration</title> |
| |
| <section id="examples.file-owner"><title>Require file-owner</title> |
| <p>Considérons un serveur Web Apache fonctionnant sous un système |
| multi-utilisateurs, où les fichiers de chaque utilisateur sont |
| stockés dans <code>~/public_html/private</code>. En supposant |
| qu'il n'existe qu'une seule base de données contenant les noms |
| d'utilisateurs web, et que ces noms d'utilisateurs correspondent |
| aux noms d'utilisateurs système qui sont les propriétaires |
| effectifs des fichiers, la configuration de l'exemple suivant |
| n'accordera l'autorisation d'accès aux fichiers qu'à leur |
| propriétaire. L'utilisateur <code>jones</code> ne sera pas |
| autorisé à accéder aux fichiers situés dans |
| <code>/home/smith/public_html/private</code>, à moins que leur |
| propriétaire ne soit <code>jones</code> au lieu de |
| <code>smith</code>.</p> |
| |
| <highlight language="config"> |
| <Directory "/home/*/public_html/private"> |
| AuthType Basic |
| AuthName MyPrivateFiles |
| AuthBasicProvider dbm |
| AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all" |
| Require file-owner |
| </Directory> |
| </highlight> |
| </section> |
| |
| <section id="examples.file-group"><title>Require file-group</title> |
| <p>Considérons un système similaire à celui décrit ci-dessus, mais |
| où certains utilisateurs partagent leurs fichiers de projets dans |
| <code>~/public_html/project-foo</code>. Le groupe système des |
| fichiers est <code>foo</code>, et il n'existe qu'une seule base de |
| données <directive |
| module="mod_authz_dbm">AuthDBMGroupFile</directive> qui contient |
| tous les noms d'utilisateurs web et leurs groupes d'appartenance. |
| Ces noms d'utilisateurs web doivent alors appartenir au moins au |
| groupe <code>foo</code>. En d'autres termes, si <code>jones</code> |
| et <code>smith</code> sont tous deux membres du groupe |
| <code>foo</code>, ils seront autorisés à accéder aux |
| répertoires <code>project-foo</code> de chacun d'entre eux.</p> |
| |
| <highlight language="config"> |
| <Directory "/home/*/public_html/project-foo"> |
| AuthType Basic |
| AuthName "Project Foo Files" |
| AuthBasicProvider dbm |
| |
| # combined user/group database |
| AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all" |
| AuthDBMGroupFile "/usr/local/apache2/etc/.htdbm-all" |
| |
| Satisfy All |
| Require file-group |
| </Directory> |
| </highlight> |
| </section> |
| </section> |
| |
| </modulesynopsis> |