Serveur Apache HTTP Version 2.4
Description: | Autorisation bas�e sur l'appartenance des fichiers |
---|---|
Statut: | Extension |
Identificateur�de�Module: | authz_owner_module |
Fichier�Source: | mod_authz_owner.c |
Compatibilit�: | Disponible depuis les versions 2.1 et sup�rieures d'Apache |
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 mod_auth_basic
ou mod_auth_digest
.
mod_authz_owner
reconna�t deux arguments pour la
directive Require
:
file-owner
et file-group
:
file-owner
jones
comme
propri�taire du fichier demand�, le nom d'utilisateur fourni pour
l'authentification HTTP doit aussi �tre jones
.file-group
mod_authz_groupfile
ou
mod_authz_dbm
, 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 accounts
, le groupe accounts
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.Si le module mod_authz_owner
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.
En particulier, il n'accordera jamais l'acc�s � une ressource du type "Vues multiples" (MultiViews) d'un contenu n�goci�.
Ce module ne fournit aucune directive.
Consid�rons un serveur Web Apache fonctionnant sous un syst�me
multi-utilisateurs, o� les fichiers de chaque utilisateur sont
stock�s dans ~/public_html/private
. 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 jones
ne sera pas
autoris� � acc�der aux fichiers situ�s dans
/home/smith/public_html/private
, � moins que leur
propri�taire ne soit jones
au lieu de
smith
.
<Directory /home/*/public_html/private> AuthType Basic AuthName MyPrivateFiles AuthBasicProvider dbm AuthDBMUserFile /usr/local/apache2/etc/.htdbm-all Require file-owner </Directory>
Consid�rons un syst�me similaire � celui d�crit ci-dessus, mais
o� certains utilisateurs partagent leurs fichiers de projets dans
~/public_html/project-foo
. Le groupe syst�me des
fichiers est foo
, et il n'existe qu'une seule base de
donn�es AuthDBMGroupFile
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 foo
. En d'autres termes, si jones
et smith
sont tous deux membres du groupe
foo
, ils seront autoris�s � acc�der aux
r�pertoires project-foo
de chacun d'entre eux.
<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>