Serveur Apache HTTP Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_authz_dbm

Description: | Autorisation basée sur les groupes à l'aide de fichiers DBM
Statut: | Extension
Identificateur de Module: | authz_dbm_module
Fichier Source: | mod_authz_dbm.c
Compatibilité: | Disponible depuis les versions 2.1 et supérieures d'Apache

### Sommaire

Ce module permet 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.

### Sujets

- The Require Directives
- Exemple d'utilisation

### Directives

### Traitement des bugs

- Journal des modifications de httpd
- Problèmes connus
- Signaler un bug

### Voir aussi

- `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>

## Directive AuthDBMGroupFile

Description: | Définit le nom du fichier de base de données contenant la liste des groupes d'utilisateurs permettant de définir les autorisations des utilisateurs
Syntaxe: | `AuthDBMGroupFile chemin-fichier`
Contexte: | répertoire, .htaccess
AllowOverride: | AuthConfig
Statut: | Extension
Module: | mod_authz_dbm

La directive `AuthDBMGroupFile` sert à définir le nom d'un fichier DBM contenant la liste des groupes d'utilisateurs. Les utilisateurs peuvent dès lors se voir autoriser ou refuser leurs accès selon l'appartenance à tel ou tel groupe. 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. Il s'agit du format utilisé par www.telescope.org pour sa base de données combinée groupes et mots de passe.

## Directive AuthzDBMType

Description: | Définit le type de fichier de base de données contenant la liste des groupes d'utilisateurs
Syntaxe: | `AuthzDBMType default|SDBM|GDBM|NDBM|DB`
Défaut: | `AuthzDBMType default`
Contexte: | répertoire, .htaccess
AllowOverride: | AuthConfig
Statut: | Extension
Module: | mod_authz_dbm

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.