mod_authn_dbm
Authentification utilisateur utilisant des fichiers DBM
Extension
mod_authn_dbm.c
authn_dbm_module
Disponible depuis les versions 2.1 et supérieures d'Apache

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.

AuthName
AuthType
AuthBasicProvider
AuthDigestProvider
htpasswd
htdbm
Formats de mots de passe
AuthDBMUserFile
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
AuthDBMUserFile chemin-fichier
directory
.htaccess
AuthConfig

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.

AuthDBMType
Définit le type de fichier de base de données utilisé pour stocker les mots de passe
AuthDBMType default|SDBM|GDBM|NDBM|DB
AuthDBMType default
directory
.htaccess
AuthConfig

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.