Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
logiciel:htaccess [2011-08-05 16:08] – [Protéger un répertoire avec un mot de passe] derval | logiciel:htaccess [2024-10-10 15:22] (Version actuelle) – [Protéger un répertoire avec un mot de passe] lauzona |
---|
====== htaccess ====== | ====== htaccess ====== |
| |
Vous pouvez vous servir d'un fichier ''[[http://httpd.apache.org/docs/2.0/howto/htaccess.html|.htaccess]]'' pour modifier le comportement du serveur Web pour le répertoire dans lequel il se trouve (ainsi que //tous ses sous-répertoires//). | Vous pouvez vous servir d'un fichier ''[[http://httpd.apache.org/docs/2.2/howto/htaccess.html|.htaccess]]'' pour modifier le comportement du serveur web pour le répertoire dans lequel il se trouve (ainsi que //tous ses sous-répertoires//). |
| |
===== Protéger un répertoire avec un mot de passe ===== | ===== Protéger un répertoire avec un mot de passe ===== |
| |
Il est possible de protéger l'accès à un répertoire Web avec un mot de passe. Soient ''<dossier-web>'' le [[:compte:page_web|répertoire Web de l'usager]], ''<sous-dossier>'' le sous-répertoire à protéger et ''<autorise>'' un nom d'usager de votre choix pour l'accès au sous-répertoire, voici la procédure avec un exemple dans la colonne de droite : | Il est possible de protéger l'accès à un répertoire Web avec un mot de passe. Prenons un usager ''<nom-d'usager>'' dont le [[:compte:page_web|répertoire web]] est ''<dossier-web>'' et le sous-répertoire à protéger est ''<sous-dossier>''. Ce répertoire sera autorisé en lecture pour quelqu'un fournissant le nom ''<identifiant>'' et le mot de passe ''<mdp>'', contenus dans le fichier ''<.fichier-mdp>''. Voici alors la procédure pour créer ce fichier. |
| |
* se brancher sur ''frontal.iro.umontreal.ca'' ou sur son serveur si son compte est sur un serveur de recherche | * Se brancher en ssh sur ''arcade.iro.umontreal.ca''. |
* créer le sous-répertoire ''<dossier-web>/<sous-dossier>'' s'il n'existe pas déjà | * Aller dans son répertoire web (ne pas aller dans le ''public_html'': mieux vaut ne pas mettre ''<.fichier-mdp>'' là où ''apache'' pourrait le montrer à tout le monde). |
* taper les commandes suivantes : | * Utiliser la commande ''htpasswd -n <identifiant>'' et fournir le ''<mdp>'' deux fois. Cela retourne une ligne ''<identifiant>:#############'' (le ''hash'' de ''<mdp>''). |
| * Créer le fichier ''<.fichier-mdp>'' si nécessaire et y ajouter cette ligne (par ex. à l'aide de ''vi''). |
| |
| (b) (b) cd <dossier-web>/<sous-dossier> (b) (b) (b) (b) | | Ensuite, on ajoute un fichier ''.htaccess'' contenant les règles d'authentification dans le répertoire à protéger. |
| (b) (b) htpasswd -c .htpasswd <autorise> | | |
| |
Exemple : | * Créer le sous-répertoire ''<sous-dossier>'' s'il n'existe pas déjà. |
| * Se déplacer dans ce sous-répertoire. |
| * Créer un fichier ''.htaccess'' contenant les lignes suivantes : |
| |
cd /home/www-etud/usagers/moimeme/HTML/restreint | AuthUserFile /u/<nom-d'usager>/<.fichier-mdp> |
htpasswd -c .htpasswd permis | AuthName <ce-qu'on-veut-voir-apparaître-dans-l'invite-d'authentification> |
| AuthType Basic |
| Require valid-user |
| |
| **Attention**: le chemin ''/u/<nom-d'usager>'' du ''.htaccess'' est interprété //sur le serveur web// et n'a de sens que dans ce contexte. Sur ''arcade'', vous ne trouverez //pas// le fichier ''<.fichier-mdp>'' dans ''/u/<nom-d'usager>/'' mais bien dans ''/home/www-ens/<nom-d'usager>/''. |
| |
* taper le mot de passe désiré pour cet usager | //Note//: Ne pas oublier d'ajuster les permissions de lecture de tous les répertoires et fichiers créés. |
* retaper le mot de passe désiré pour cet usager | |
* créer un fichier ''.htaccess'' contenant les lignes suivantes (un fichier prêt à copier-coller suit) : | |
| |
| (b) (b) AuthUserFile <répertoire-web>/<sous-répertoire>/.htpasswd (b) (b) | | |
| (b) (b) AuthGroupFile /dev/null | | |
| (b) (b) AuthName <invite> | | |
| (b) (b) AuthType Basic | | |
| (b) (b) <Limit GET> | | |
| (b) (b) </Limit> | | |
| |
Exemple : | Exemple : |
| |
AuthUserFile /home/www-etud/usagers/moimeme/HTML/restreint/.htpasswd | cd /home/www-ens/alice |
AuthGroupFile /dev/null | htpasswd -n bob |
AuthName Qui_es_tu_? | On entre deux fois le mot de passe voulu. Le résultat est |
| bob:nhMKTi4awTWbk |
| qu'on ajoute au fichier ''.htpasswd'' |
| echo "bob:nhMKTi4awTWbk" >> .htpasswd |
| On se déplace dans le répertoire à protéger |
| cd public_html |
| mkdir -p secrets |
| cd secrets |
| vi .htaccess |
| et on met dans le ''.htaccess'' ces lignes |
| AuthUserFile /u/alice/.htpasswd |
| AuthName "Zone de secrets" |
AuthType Basic | AuthType Basic |
<Limit GET> | Require valid-user |
</Limit> | |