mirror of
https://github.com/apache/httpd.git
synced 2025-08-03 16:33:59 +00:00

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1677332 13f79535-47bb-0310-9956-ffa450edef68
143 lines
6.7 KiB
Plaintext
143 lines
6.7 KiB
Plaintext
<?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>
|