mod_authn_file
Authentification utilisateur à l'aide de fichiers texte
Base
mod_authn_file.c
authn_file_module
Disponible depuis les versions 2.1 et supérieures d'Apache

Ce module permet aux frontaux d'authentification comme mod_auth_digest et mod_auth_basic d'authentifier les utilisateurs en les recherchant dans des fichiers de mots de passe au format texte. mod_authn_dbm fournit une fonctionnalité similaire.

Lorsqu'on utilise mod_auth_basic ou mod_auth_digest, ce module peut être invoqué en affectant la valeur `file` à la directive AuthBasicProvider ou AuthDigestProvider.

AuthBasicProvider
AuthDigestProvider
htpasswd
htdigest
Formats de mots de passe
AuthUserFile
Définit le nom d'un fichier texte pour l'authentification contenant la liste des utilisateurs et de leurs mots de passe
AuthUserFile chemin-fichier
directory
.htaccess
AuthConfig

La directive AuthUserFile permet de définir le nom d'un fichier texte pour l'authentification contenant la liste des utilisateurs et de leurs mots de passe. chemin-fichier est le chemin vers le fichier des utilisateurs. S'il n'est pas absolu, il est considéré comme relatif au répertoire défini par la directive ServerRoot.

Chaque ligne du fichier des utilisateurs se compose du nom de l'utilisateur, du caractère ':' et du mot de passe chiffré. Si le même identifiant utilisateur est référencé plusieurs fois, mod_authn_file utilisera la première occurrence pour vérifier le mot de passe.

Le format du 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.

Pour mod_auth_basic, utilisez le programme htpasswd fourni avec la distribution binaire, mais que vous trouverez aussi dans le répertoire `src/support` de l'arborescence des sources. Voir sa page de manuel pour plus de détails. En bref :

On crée un fichier de mots de passe `nom-fichier` avec `nom-utilisateur` comme identifiant initial. Le mot de passe correspondant sera alors demandé :

htpasswd -c nom-fichier nom-utilisateur

Pour ajouter ou modifier `nom-utilisateur2` dans le fichier de mots de passe `nom-fichier` :

htpasswd nom-fichier nom-utilisateur2

Noter qu'une recherche dans de grands fichiers texte peut être très longue ; dans ce cas, il vaut mieux utiliser les fichiers DBM avec la directive AuthDBMUserFile.

Pour mod_auth_digest, vous devez utiliser le programme htdigest. Notez que vous ne pouvez pas mélanger des données utilisateur pour l'Authentification HTTP à base de condensé et des données pour l'Authentification de Base dans le même fichier.

# Sécurité

Assurez-vous que le fichier AuthUserFile soit bien stocké en dehors de l'arborescence des documents du serveur web. Ne placez pas ce fichier dans le répertoire qu'il protège. Dans le cas contraire, les clients seraient en mesure de télécharger le fichier des mots de passe.