[APACHE DOCUMENTATION]

Apache HTTP Server Version 1.3

Module mod_auth_dbm

Ce module est implémenté dans le fichier mod_auth_dbm.c, et n'est pas compilé par défaut. Il met en place le contrôle d'accès par fichiers DBM.
  • AuthDBMGroupFile
  • AuthDBMUserFile
  • AuthDBMAuthoritative

  • AuthDbmGroupFile

    Syntaxe : AuthDBMGroupFile nomFichier
    Contexte : répertoire, .htaccess
    Surcharge : AuthConfig
    Statut : Extension
    Module : mod_auth_dbm

    La directive AuthDBMGroupFile définit le nom du fichier DB contenant la liste des groupes d'utilisateurs aux fins d'authentification. nomFichier est le chamin d'accès absolu au fichier de groupes.

    Le fichier de groupes est construit à partir des noms d'utilisateurs, ceux-ci constituant la clef du fichier. La valeur associée à un utilisateur est une liste des groupes auxquels appartient l'utilisateur, séparés par des virgules. Aucun espace ne doit apparaître entre les multiples noms de groupes, et ce fichier ne doit pas contenir de caractère "deux-points".

    Sécurité : Assurez-vous que le fichier AuthDBMGroupFile est enregistré hors de l'espace accessible par le serveur Web ; ne placez pas non plus ce fichier dans un répertoire qu'il protège. Autrement, des clients pourraient télécharger le fichier AuthDBMGroupFile à moins qu'une autre protection ne les y empêchent.

    Combinaison de fichiers DBM Group et Password : Dans certains cas, il est plus simple de gérer une seule base de données qui contient à la fois le mot de passe et les informations de groupes pour chacun des utilisateurs. Ceci simplifie l'écriture de tout programme nécessitant ces informations : ils n'auront alors qu'à écrire et verrouiller qu'un seul fichier DB. Ceci peut être obtenu en faisant pointer les deux fichiers Groups et Password vers le même fichier DBM :

    AuthDBMGroupFile /www/userbase
    AuthDBMUserFile /www/userbase
    La clef de ce fichier unifié reste le nom de l'utilisateur. La valeur associée à la clef est constituée de :

    Mot de passe Unix crypté : Liste des Groupes [ : (ignoré) ]

    La partie correspondant au mot de passe contient le mot de passe crypté par la fonction Unix crypt() comme précédemment. Elle est suivie d'un "deux-points" puis de la liste de groupes séparés par une virgule. Des données annexes peuvent être laissées dans l'enregistrement DBM après un "deux-points" supplémentaire, et seront ignorées par le module d'authentification. C'est la méthode utilisée par www.telescope.org pour combiner les bases de données de groupes et de mots de passe.

    Voir aussi AuthName, AuthType et AuthDBMUserFile.


    AuthDBMUserFile

    Syntaxe : AuthDBMUserFile nomFichier
    Contexte : répertoire, .htaccess
    Surcharge : AuthConfig
    Statut : Extension
    Module : mod_auth_dbm

    La directive AuthDBMUserFile définit le nom du fichier DBM contenant la liste des utilisateurs et de leur mot de passe aux fins d'authentification. nomFichier est le chemin d'accès absolu à ce fichier.

    Ce fichier est contruit à partir des noms d'utilisateur, ceux-ci constituant la clef d'entrée du fichier. La valeur associée à chaque entrée est le mot de passe Unix crypté par la fonction Unix crypt(), éventuellement suivi d'un "deux-points" puis de données annexes. Ce deux-points et ces dernières données seront ignorées par le serveur.

    Sécurité : Assurez-vous que le fichier AuthDBMUserFile est enregistré hors de l'espace accessible par le serveur Web ; ne placez pas non plus ce fichier dans un répertoire qu'il protège. Autrement, des clients pourraient télécharger le fichier AuthDBMUserFile à moins qu'une autre protection ne les y empêchent.

    Note importante de compatibilité : L'implémentation de dbmopen() dans les modules Apache lit la longueur de chaîne des valeurs associées dans la structure DBM, plutôt que faire confiance au fait que la chaîne soit terminée par un NULL. Certaines applications, comme le serveur Web Netscape, s'appuient sur la terminaison de chaîne. De ce fait, si vous rencontrez des problèmes de compatibilité lorsque vous partagez ou échangez des fichiers DB entre applications, ceci peut constituer une partie du problème.

    Voir aussi AuthName, AuthType et AuthDBMGroupFile.


    AuthDBMAuthoritative

    Syntaxe : AuthDBMAuthoritative < on(default) | off >
    Contexte : répertoire, .htaccess
    Surcharge : AuthConfig
    Statut : Base
    Module : mod_auth

    Marquer une valeur off explicite pour la directive AuthDBMAuthoritative permet de déporter l'identification et l'authentification à des modules de plus bas niveau (définis dans le fichier de Configuration de compilation et le fichier modules.c, dans le cas précis où il n'existe aucun userID ni règle applicable au requérant. Si l'userID correspond et/ou une règle est applicable, la procédure habituelle d'identification et d'authentification sera exécutée et toute erreur conduira à une réponse de type "Authorization Required".

    Par déduction, si une définition de userID correspond dans la base de données pour un ou plusieurs modules, ou si une directive de requête d'informations d'authentification valide s'applique dans un module ou plus, alors c'est le premier module exécuté qui vérifiera les droits, et refusera l'accès au besoin, quelque soit la définition pour la directive AuthDBMAuthoritative.

    Une utilisation commune de cette directive se fait en conjonction avec l'un des modules de bases de données, tels que mod_auth.c. Ces modules fournissent les données de base pour la vérification d'authentification, mais quelques accès tomberont au niveau inférieur (en général des accès administrateur qui descendront jusqu'à la protection par .htaccess).

    Défaut : Par défaut, le contrôle d'accès n'est pas délégué à une étape inférieure, et un userID ou une règle inconnue provoquera toujours une réponse "Authorization Required". C'est certainement l'option la plus sûre, et qui force un comportement conforme à la spécification NSCA.

    Sécurité : Considérez les conséquences lorsque vous permettez a un utilisateur d'accéder jusqu'au niveau de son fichier .htaccess, et vérifiez que cette situation est bien voulue. En général, il est plus facile de verrouiller un simple fichier .htpasswd, que de sécuriser une base de données.

    Voir aussi AuthName, AuthType et AuthDBMGroupFile.


    Apache HTTP Server Version 1.3

    Index Home

    Adaptation française © Valery Fremaux / EISTI 1998