mod_authz_dbm Autorisation par groupes sur base de fichiers DBM Extension mod_authz_dbm.c authz_dbm_module

Ce module propose d'autoriser ou d'interdire l'accès à certaines zones du site web aux utilisateurs authentifiés en fonction de leur appartenance à un groupe spécifié. Le module mod_authz_groupfile fournit une fonctionnalité similaire.

Require
The Require Directives

Les directives Require d'Apache permettent, au cours de la phase d'autorisation, de s'assurer qu'un utilisateur est bien autorisé à accéder à une ressource. mod_authz_dbm ajoute les types d'autorisation dbm-group et dbm-file-group.

A partir de la version 2.4.8, les directives require DBM supportent les expressions.

Require dbm-group

Cette directive permet de spécifier à quel groupe un utilisateur doit appartenir pour obtenir l'autorisation d'accès.

Require dbm-group admin
Require dbm-file-group

Lorsque cette directive est définie, l'utilisateur doit appartenir au groupe du fichier pour pouvoir y accéder.

Require dbm-file-group
Exemple d'utilisation

Notez que si vous utilisez mod_authz_dbm, le mot-clé pour les groupes d'authentification qui était auparavant group est maintenant dbm-group :

<Directory "/foo/bar"> AuthType Basic AuthName "Secure Area" AuthBasicProvider dbm AuthDBMUserFile "site/data/users" AuthDBMGroupFile "site/data/users" Require dbm-group admin </Directory>
AuthDBMGroupFile Définit le nom du fichier de base de données qui liste les groupes d'utilisateurs. AuthDBMGroupFile chemin-fichier directory.htaccess AuthConfig

La directive AuthDBMGroupFile définit le nom d'un fichier DBM contenant la liste des groupes d'utilisateurs, destinés à la gestion des autorisations. chemin-fichier est le chemin absolu du fichier de groupes.

La clé du fichier de groupes est le nom d'utilisateur. La valeur de chaque clé est la liste des groupes, séparés par des virgules, auxquels l'utilisateur appartient. Cette liste ne doit comporter ni espace, ni caractère ':'.

Sécurité

Le fichier spécifié par la directive AuthDBMGroupFile doit être situé en dehors de l'arborescence des documents du serveur web. Ne le placez surtout pas dans le répertoire qu'il protège, faute de quoi, les clients pourraient le télécharger, en l'abscence de protection supplémentaire.

Utilisation combinée de fichiers DBM de groupes et de mots de passe : dans certains cas, il est plus simple de gérer une seule base de données contenant les groupes et mots de passe de chaque utilisateur. L'écriture de programmes de support en est ainsi simplifiée car ils n'ont plus qu'un seul fichier DBM à gérer et à verrouiller. Pour ce faire, on attribue le même nom de fichier DBM aux fichiers de groupes et de mots de passe :

AuthDBMGroupFile "/www/userbase" AuthDBMUserFile "/www/userbase"

La clé du fichier DBM unique est le nom d'utilisateur. La valeur associée à la clé contient :

Mot de passe chiffré : Liste de groupes [ : (ignoré) ]

La partie mot de passe contient comme d'habitude le mot de passe chiffré. Viennent ensuite le caractère ':' et la liste des groupes séparés par des virgules. Il est possible d'ajouter d'autres données en fin de ligne après un autre caractère ':', mais elles seront ignorées par le module d'autorisation.

AuthzDBMType Définit le type de fichier de base de données contenant la liste des groupes d'utilisateurs AuthzDBMType default|SDBM|GDBM|NDBM|DB AuthzDBMType default directory.htaccess AuthConfig

Définit le type de fichier de base de données contenant la liste des groupes d'utilisateurs. Le type de base de données par défaut est déterminé à la compilation. Les autres types de bases de données disponibles dépendent aussi de la configuration de la compilation.

Quel que soit le programme que vous utilisez pour créer votre fichier de groupes, il est impératif que celui-ci soit configuré pour utiliser le même type de base de données.