| <?xml version='1.0' encoding='UTF-8' ?> |
| <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> |
| <!-- English Revision: 1862609 --> |
| <!-- French translation : Lucien GENTIS --> |
| <!-- Reviewed by : Vincent Deffontaines --> |
| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <manualpage metafile="htpasswd.xml.meta"> |
| <parentdocument href="./">Programmes</parentdocument> |
| |
| <title>htpasswd - Gestion des fichiers d'utilisateurs pour |
| l'authentification de base</title> |
| |
| <summary> |
| <p><code>htpasswd</code> permet de créer et de maintenir les |
| fichiers textes où sont stockés les noms d'utilisateurs et mots de |
| passe pour l'authentification de base des utilisateurs HTTP. Si |
| <code>htpasswd</code> rencontre un problème d'accès à un fichier, |
| que ce soit pour écrire dans le fichier de sortie, ou pour lire le |
| fichier d'entrée dans le but de le mettre à jour, il renvoie un code |
| d'erreur et n'effectue aucune modification.</p> |
| |
| <p>Il est possible de limiter l'accès aux ressources du serveur HTTP |
| Apache aux seuls utilisateurs présents dans les fichiers créés par |
| <code>htpasswd</code>. Ce programme ne sait gérer les noms |
| d'utilisateurs et mots de passe que s'ils sont stockés dans des |
| fichiers textes. Il peut cependant chiffrer et afficher les mots de |
| passe à des fins d'utilisation dans d'autres types de bases de |
| données. Pour utiliser une base de données DBM, voir le programme |
| <program>dbmmanage</program> ou <program>htdbm</program>.</p> |
| |
| <p><code>htpasswd</code> chiffre les mots de passe en utilisant soit bcrypt, |
| une version de MD5 modifiée pour Apache, soit SHA1, soit la routine |
| <code>crypt()</code> du système. Les hashes basés sur SHA-2 (SHA-256 et |
| SHA-512) sont supportés pour <code>crypt()</code>. Les fichiers gérés par |
| <code>htpasswd</code> peuvent contenir deux types de mots de passe ; |
| certaines entrées peuvent contenir des mots de passe chiffrés en MD5 ou |
| bcrypt, alors que d'autres entrées du même fichier contiendront des mots de |
| passe chiffrés avec <code>crypt()</code>.</p> |
| |
| <p>Cette page de manuel ne décrit que les arguments de la ligne de |
| commande. Pour plus de détails à propos des directives nécessaires à |
| la configuration de l'authentification des utilisateurs dans |
| <program>httpd</program>, voir le manuel Apache qui est fourni avec |
| la distribution ou peut être consulté à <a |
| href="http://httpd.apache.org">http://httpd.apache.org/</a>.</p> |
| </summary> |
| <seealso><program>httpd</program></seealso> |
| <seealso><program>htdbm</program></seealso> |
| <seealso>Les scripts fournis avec la distibution d'Apache et situés dans |
| support/SHA1.</seealso> |
| |
| <section id="synopsis"><title>Syntaxe</title> |
| <p><code><strong>htpasswd</strong> |
| [ -<strong>c</strong> ] |
| [ -<strong>i</strong> ] |
| [ -<strong>m</strong> | |
| -<strong>B</strong> | |
| -<strong>2</strong> | |
| -<strong>5</strong> | |
| -<strong>d</strong> | |
| -<strong>s</strong> | |
| -<strong>p</strong> ] |
| [ -<strong>r</strong> <var>rounds</var> ] |
| [ -<strong>C</strong> <var>cost</var> ] |
| [ -<strong>D</strong> ] |
| [ -<strong>v</strong> ] <var>fichier-mots-de-passe</var> <var>nom-utilisateur</var></code></p> |
| |
| <p><code><strong>htpasswd</strong> -<strong>b</strong> |
| [ -<strong>c</strong> ] |
| [ -<strong>m</strong> | |
| -<strong>B</strong> | |
| -<strong>2</strong> | |
| -<strong>5</strong> | |
| -<strong>d</strong> | |
| -<strong>s</strong> | |
| -<strong>p</strong> ] |
| [ -<strong>r</strong> <var>rounds</var> ] |
| [ -<strong>C</strong> <var>cost</var> ] |
| [ -<strong>D</strong> ] |
| [ -<strong>v</strong> ] <var>fichier-mots-de-passe</var> <var>nom-utilisateur</var> |
| <var>mot-de-passe</var></code></p> |
| |
| <p><code><strong>htpasswd</strong> -<strong>n</strong> |
| [ -<strong>i</strong> ] |
| [ -<strong>m</strong> | |
| -<strong>B</strong> | |
| -<strong>2</strong> | |
| -<strong>5</strong> | |
| -<strong>d</strong> | |
| -<strong>s</strong> | |
| -<strong>p</strong> ] |
| [ -<strong>r</strong> <var>rounds</var> ] |
| [ -<strong>C</strong> <var>cost</var> ] <var>nom-utilisateur</var></code></p> |
| |
| <p><code><strong>htpasswd</strong> -<strong>nb</strong> |
| [ -<strong>m</strong> | |
| -<strong>B</strong> | |
| -<strong>2</strong> | |
| -<strong>5</strong> | |
| -<strong>d</strong> | |
| -<strong>s</strong> | |
| -<strong>p</strong> ] |
| [ -<strong>r</strong> <var>rounds</var> ] |
| [ -<strong>C</strong> <var>cost</var> ] <var>nom-utilisateur</var> |
| <var>mot-de-passe</var></code></p> |
| </section> |
| |
| <section id="options"><title>Options</title> |
| <dl> |
| <dt><code>-b</code></dt> |
| <dd>Utilise le mode batch ; c'est à dire, extrait le mot de passe de |
| la ligne de commande au lieu de le demander à l'opérateur. Cette |
| option doit être utilisée avec la plus grande prudence, car |
| <strong>le mot de passe est visible en clair</strong> dans la ligne |
| de commande. Pour utiliser un script, voir l'option |
| <code>-i</code>.<br /> |
| Disponible à partir de la version 2.4.4 du serveur HTTP Apache.</dd> |
| |
| <dt><code>-i</code></dt> |
| <dd>Lit le mot de passe depuis stdin sans vérification (à utiliser |
| dans les scripts).</dd> |
| |
| <dt><code>-c</code></dt> |
| <dd>Crée le <var>fichier-mots-de-passe</var>. Si |
| <var>fichier-mots-de-passe</var> existe déjà, il est réécrit et |
| tronqué. Cette option ne peut pas être combinée avec l'option |
| <code>-n</code>.</dd> |
| |
| <dt><code>-n</code></dt> |
| <dd>Affiche le résultat du traitement sur la sortie standard au lieu |
| de mettre à jour le fichier. Ceci peut s'avérer utile pour générer |
| des enregistrements de mots de passe qu'Apache pourra utiliser à des |
| fins d'inclusion dans des fichiers de données au format autre que |
| texte. Cette option modifie la syntaxe de la ligne de commande, car |
| l'argument <var>fichier-mots-de-passe</var> (en général le premier) |
| est omis. Elle ne peut pas être combinée avec l'option |
| <code>-c</code> option.</dd> |
| |
| <dt><code>-m</code></dt> |
| <dd>Utilise le chiffrement MD5 pour les mots de passe. C'est le |
| comportement par défaut (depuis la version 2.2.18).</dd> |
| |
| <dt><code>-2</code></dt> |
| <dd>Utilise des hashes basés sur SHA-256 <code>crypt()</code> pour les mots |
| de passe. Supporté par la plupart des plateformes de style Unix.</dd> |
| |
| <dt><code>-5</code></dt> |
| <dd>Utilise des hashes basés sur SHA-512 <code>crypt()</code> pour les mots |
| de passe. Supporté par la plupart des plateformes de style Unix.</dd> |
| |
| <dt><code>-B</code></dt> |
| <dd>Utilise bcrypt pour chiffrer les mots de passe. c'est un |
| algorythme de chiffrement actuellement considéré comme sûr.</dd> |
| |
| <dt><code>-C</code></dt> |
| <dd>Ce drapeau n'est autorisé qu'en conjonction avec le drapeau |
| <code>-B</code> (chiffrement bcrypt). Il permet de définir la durée |
| de traitement pour l'algorytme bcrypt (plus elle est longue, |
| meilleure sera la sécurité, mais inférieure la rapidité). La valeur |
| par défaut est 5 et les valeurs autorisées vont de 4 à 17.</dd> |
| |
| <dt><code>-r</code></dt> |
| <dd>Ce drapeau n'est autorisé qu'en combinaison avec un des drapeaux |
| <code>-2</code> ou <code>-5</code>. Il permet de définir le nombre de passes |
| de hash utilisées pour l'algorithme SHA-2 (plus ce nombre est élevé, plus la |
| sécurité est élevée, mais plus les performances se dégradent ; la valeur par |
| défaut est 5000).</dd> |
| |
| <dt><code>-d</code></dt> |
| <dd>Utilise le chiffrement <code>crypt()</code> pour les mots de |
| passe. Cette option n'est pas supportée par le |
| serveur <program>httpd</program> sous Windows ou Netware. Cet |
| algorithme limite la longueur des mots de passe à 8 caractères ; il |
| est considéré comme <strong>non sur</strong> du point de vue des |
| standards actuels. C'était l'algorithme par défaut jusqu'à la |
| version 2.2.17.</dd> |
| |
| <dt><code>-s</code></dt> |
| <dd>Utilise le chiffrement SHA-1 (160 bits) pour les mots de passe. Facilite |
| la migration vers/depuis les serveurs Netscape qui utilisent le format LDAP |
| Directory Interchange (ldif). Cet algorithme est considéré comme <strong>non |
| sur</strong> du point de vue des standards actuels.</dd> |
| |
| <dt><code>-p</code></dt> |
| <dd>Enregistre les mots de passe en clair. Bien que |
| <code>htpasswd</code> supporte la création des mots de passe en |
| clair sur toutes les plates-formes, le démon |
| <program>httpd</program> n'accepte les mots de passe en clair que |
| sous Windows et Netware.</dd> |
| |
| <dt><code>-D</code></dt> |
| <dd>Supprime un utilisateur, sous réserve qu'il existe dans le |
| fichier spécifié par htpasswd.</dd> |
| |
| <dt><code>-v</code></dt> |
| <dd>Vérifie si le mot de passe fourni correspond au mot de passe de |
| l'utilisateur enregistré dans le fichier de mots de passe spécifié.<br /> |
| Disponible à partir de la version 2.4.5 du serveur HTTP Apache.</dd> |
| |
| <dt><code><var>fichier-mots-de-passe</var></code></dt> |
| <dd>Le nom du fichier contenant les noms d'utilisateurs et mots de |
| passe. Avec l'option <code>-c</code>, le fichier est créé s'il |
| n'existe pas, ou réécrit et tronqué s'il existe déjà.</dd> |
| |
| <dt><code><var>nom-utilisateur</var></code></dt> |
| <dd>Le nom d'utilisateur à créer ou mettre à jour dans le |
| <var>fichier-mots-de-passe</var>. Si <var>nom-utilisateur</var> |
| n'existe pas, une nouvelle entrée est ajoutée. Dans le cas |
| contraire, le mot de passe est modifié.</dd> |
| |
| <dt><code><var>mot-de-passe</var></code></dt> |
| <dd>Le mot de passe en clair et destiné à être chiffré puis stocké |
| dans le fichier. Cet argument ne s'utilise qu'avec l'option |
| <code>-b</code>.</dd> |
| </dl> |
| </section> |
| |
| <section id="exit"><title>Valeur renvoyée</title> |
| <p><code>htpasswd</code> renvoie 0 ("true") si le nom d'utilisateur |
| et le mot de passe ont été enregistrés ou mis à jour avec succès |
| dans le <var>fichier-mots-de-passe</var>. <code>htpasswd</code> |
| renvoie <code>1</code> s'il a rencontré un problème d'accès aux |
| fichiers, <code>2</code> si la ligne de commande comportait une |
| erreur de syntaxe, <code>3</code> si le mot de passe entré |
| interactivement ne correspondait pas au nom d'utilisateur, |
| <code>4</code> si l'opération a été interrompue, <code>5</code> si |
| une valeur était trop longue (nom-utilisateur, nom-fichier, |
| mot-de-passe, ou l'enregistrement résultant), <code>6</code> si le |
| nom d'utilisateur contenait des caractères illégaux (voir la section |
| <a href="#restrictions">Restrictions</a>), et <code>7</code> si le |
| fichier spécifié n'était pas un fichier de mots de passe |
| valide.</p> |
| </section> |
| |
| <section id="examples"><title>Exemples</title> |
| <example> |
| htpasswd /usr/local/etc/apache/.utilisateurs-htpasswd jsmith |
| </example> |
| |
| <p>Ajoute ou modifie le mot de passe de l'utilisateur |
| <code>jsmith</code>. Le mot de passe est demandé à l'opérateur. Le |
| mot de passe sera chiffré en utilisant l'algorithme MD5 |
| modifié pour Apache. Si le fichier spécifié |
| n'existe pas, <code>htpasswd</code> renverra un code d'erreur.</p> |
| |
| <example> |
| htpasswd -c /home/doe/public_html/.htpasswd jane |
| </example> |
| |
| <p>Crée un nouveau fichier de mots de passe et y enregistre une |
| entrée pour l'utilisateur <code>jane</code>. Le mot de passe est |
| demandé à l'opérateur. Si le fichier existe et ne peut être ni lu ni |
| écrit, il n'est pas modifié et <code>htpasswd</code> affichera un |
| message et renverra un code d'erreur.</p> |
| |
| <example> |
| htpasswd -db /usr/web/.htpasswd-tous jones Pwd4Steve |
| </example> |
| |
| <p>Chiffre le mot de passe spécifié dans la ligne de commande |
| (<code>Pwd4Steve</code>) en utilisant l'algorithme |
| <code>crypt()</code>, et le stocke dans le fichier spécifié.</p> |
| </section> |
| |
| <section id="security"><title>Considérations à propos de sécurité</title> |
| <p>Les fichiers de mots de passe Web comme ceux que gère |
| <code>htpasswd</code> ne doivent <em>pas</em> être situés dans |
| l'espace d'URI du serveur Web -- en d'autres termes, il ne doit pas |
| être possible d'y accéder à partir d'un navigateur.</p> |
| |
| <p>En tant qu'exécutable setuid, ce programme n'est pas sûr, et il |
| ne faut par conséquent <em>pas</em> lui attribuer de permissions |
| setuid.</p> |
| |
| <p>L'utilisation de l'option <code>-b</code> est déconseillée, car |
| avec elle, les mots de passe apparaissent en clair dans la ligne de |
| commande.</p> |
| |
| <p>Notez qu'avec l'algorithme <code>crypt()</code>, seuls les huit |
| premiers caractères du mot de passe spécifié sont pris en compte. Si |
| le mot de passe spécifié est plus long, les caractères |
| supplémentaires sont ignorés.</p> |
| |
| <p>Le format de chiffrement SHA-1 n'utilise pas d'amorçage aléatoire |
| (salting) : à un mot de passe donné correspond une seule |
| représentation chiffrée. Les formats <code>crypt()</code> et MD5 |
| permutent la représentation en la préfixant par une chaîne d'amorce |
| aléatoire, afin de rendre les attaques de mots de passe à base de |
| dictionnaires plus difficiles.</p> |
| |
| <p>Les algorithmes de chiffrement SHA-1 et <code>crypt()</code> |
| sont considérés comme <strong>non surs</strong> du point de vue des |
| standards actuels.</p> |
| |
| <p>Les algorithmes de chiffrement SHA-2 (SHA-256 et SHA-512) sont supportés |
| par la plupart des systèmes de style Unix modernes et respectent la |
| spécification <a |
| href="https://www.akkadia.org/drepper/SHA-crypt.txt">https://www.akkadia.org/drepper/SHA-crypt.txt</a>.</p> |
| </section> |
| |
| <section id="restrictions"><title>Restrictions</title> |
| <p>Sur les plates-formes Windows, la taille des mots de passe |
| chiffrés avec <code>htpasswd</code> est limitée à <code>255</code> |
| caractères. Les mots de passe dont la taille est supérieure seront |
| tronqués.</p> |
| |
| <p>L'algorithme MD5 utilisé par <code>htpasswd</code> est spécifique |
| à Apache ; les mots de passe chiffrés en utilisant cet algorithme |
| seront inutilisables sur d'autres serveurs Web.</p> |
| |
| <p>La taille des noms d'utilisateurs est limitée à <code>255</code> |
| octets et ceux-ci ne doivent pas contenir de caractère |
| <code>:</code>.</p> |
| |
| <p>Le coût en performances de la génération de la valeur de hashage d'un mot |
| de passe bcrypt augmente avec le nombre de passes spécifié par l'option |
| <code>-C</code>. A partir de sa version <code>1.6.0</code>, la bibliothèque |
| <code>apr-util</code> limite le nombre de passes à 17.</p> |
| </section> |
| |
| </manualpage> |