Outils pour utilisateurs

Outils du site


logiciel:htaccess

htaccess

Vous pouvez vous servir d'un fichier .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

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 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 en ssh sur arcade.iro.umontreal.ca.
  • 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).
  • 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).

Ensuite, on ajoute un fichier .htaccess contenant les règles d'authentification dans le répertoire à protéger.

  • 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 :
AuthUserFile /u/<nom-d'usager>/<.fichier-mdp>
AuthGroupFile /dev/null
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>/.

Note: Ne pas oublier d'ajuster les permissions de lecture de tous les répertoires et fichiers créés.

Exemple :

cd /home/www-ens/alice
htpasswd -n bob

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
AuthGroupFile /dev/null
AuthName "Zone de secrets"
AuthType Basic
Require valid-user
logiciel/htaccess.txt · Dernière modification: 2017-09-11 21:15 (modification externe)