mirror of
https://github.com/apache/httpd.git
synced 2025-07-30 20:03:10 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1884354 13f79535-47bb-0310-9956-ffa450edef68
340 lines
15 KiB
Plaintext
340 lines
15 KiB
Plaintext
<?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: 1884207 -->
|
|
<!-- 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 hasher 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> hashe 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 hashés en MD5 ou
|
|
bcrypt, alors que d'autres entrées du même fichier contiendront des mots de
|
|
passe hashé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 hashage 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 hasher 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> (hashage 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 hashage <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 hashage 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 hashé 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 hashé 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 hashage SHA-1 n'utilise pas d'amorçage aléatoire
|
|
(salting) : à un mot de passe donné correspond une seule
|
|
représentation hashé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
|
|
hashé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 hashé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>
|