Serveur HTTP Apache Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_authn_dbm

Description: | Authentification utilisateur utilisant des fichiers DBM
Statut: | Extension
Identificateur de Module: | authn_dbm_module
Fichier Source: | mod_authn_dbm.c
Compatibilité: | Disponible depuis les versions 2.1 et supérieures d'Apache

### Sommaire

Ce module permet aux frontaux comme `mod_auth_digest` et `mod_auth_basic` d'authentifier les utilisateurs en les recherchant dans des fichiers de mots de passe dbm. `mod_authn_file` fournit une fonctionnalité similaire.

Lorsqu'on utilise `mod_auth_basic` ou `mod_auth_digest`, ce module est invoqué en affectant la valeur `dbm` à la directive `AuthBasicProvider` ou `AuthDigestProvider`.

### Directives

### Traitement des bugs

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

### Voir aussi

- `AuthName`
- `AuthType`
- `AuthBasicProvider`
- `AuthDigestProvider`
- `htpasswd`
- `htdbm`
- Formats de mots de passe

## Directive AuthDBMType

Description: | Définit le type de fichier de base de données utilisé pour stocker les mots de passe
Syntaxe: | `AuthDBMType default|SDBM|GDBM|NDBM|DB`
Défaut: | `AuthDBMType default`
Contexte: | répertoire, .htaccess
Surcharges autorisées: | AuthConfig
Statut: | Extension
Module: | mod_authn_dbm

Cette directive permet de définir le type de fichier de base de données utilisé pour stocker les mots de passe. Le type de base de données par défaut est défini à la compilation. La liste des autres types de bases de données disponibles dépend aussi de la configuration de la compilation.

Par exemple, pour activer le support de Berkeley DB (correspondant au type `db`), il faut ajouter l'option `--with-berkeley-db` à la ligne de commande configure de httpd pour générer le DSO approprié.

Il est impératif que le programme que vous utilisez pour créer vos fichiers de mots de passe soit configuré pour utiliser le même type de base de données.

## Directive AuthDBMUserFile

Description: | Définit le nom d'un fichier de base de données pour l'authentification contenant la liste des utilisateurs et de leurs mots de passe
Syntaxe: | `AuthDBMUserFile chemin-fichier`
Contexte: | répertoire, .htaccess
Surcharges autorisées: | AuthConfig
Statut: | Extension
Module: | mod_authn_dbm

La directive `AuthDBMUserFile` permet de définir le nom d'un fichier de base de données pour l'authentification contenant la liste des utilisateurs et de leurs mots de passe. chemin-fichier doit être un chemin absolu vers le fichier de base de données.

La clé du fichier de base de données est le nom de l'utilisateur. La valeur associée est le mot de passe chiffré, éventuellement suivi par un ':' et des données arbitraires. Ce ':' ainsi que les données arbitraires qui suivent seront ignorées par le serveur.

### Sécurité :

Faites en sorte que le fichier spécifié par la directive `AuthDBMUserFile` soit stocké en dehors de l'arborescence des documents du serveur web ; en particulier, ne l'enregistrez pas dans le répertoire qu'il protège, faute de quoi, les clients auraient la possibilité de télécharger le fichier des mots de passe.

Le format de mot de passe chiffré dépend du frontal d'authentification utilisé (par exemple `mod_auth_basic` ou `mod_auth_digest`). Voir la documentation sur les Formats de mots de passe pour plus de détails.

Note importante concernant la compatibilité : l'implémentation de `dbmopen` dans les modules d'Apache lit la longueur de la chaîne correspondant aux données chiffrées dans la structure des données DBM, plutôt que de calculer cette longueur en se basant sur le caractère nul final. Certaines applications par contre, comme le serveur web Netscape, calculent cette longueur en se basant sur le caractère nul final ; par conséquent, si vous rencontrez des difficultés en échangeant des fichiers DBM entre plusieurs applications, le problème peut éventuellement s'expliquer par cette différence d'implémentation.

Un script perl nommé `dbmmanage` est fourni avec Apache. On peut utiliser ce programme pour créer et mettre à jour les fichiers de mots de passe au format DBM que ce module utilise. Il existe également un autre outil pour gérer les fichiers DBM, inclus dans le programme `htdbm`.