/var/www/prive/.
Il ne devra être accessible qu'à un ensemble limité de comptes Apache (et non Linux) qui seront à créer
La première requête adressée à ce répertoire protégé provoquera l'affichage d'une boite de dialogue par laquelle l'utilisateur
devra s'authentifier (nom et mot de passe).
- Etapes
- Créer le répertoire
/var/www/prive, y placer quelques pages HTML.
Tester leur accessibilité pour tous. Si nécessaire ajuster les permissions Linux sur ces fichiers :
chown -R www-data /var/www/prive
chmod -R 700 /var/www/prive
- Vous constatez que l'on peut parcourir le contenu de ce nouveau réperoire. Expliquez pourquoi.
- Dans quel répertoire allez-vous écrire le fichier qu'on nommera perso qui doit contenir la configuration du répertoire /var/www/prive ?
- Créer dans ce fichier précédent une section <Directory /var/www/prive> .. </Directory> contenant les directives usuelles (voir TP 2), en interdisant son indexation, tout en autorisant l'accès de partout.
- Tester l'accès au répertoire et l'apparition d'une erreur 403 "forbidden"
- Inclure les clauses d'authentification "basique"
AuthType Basic
AuthName "Accès réservé"
Require valid-user
AuthUserFile /etc/apache2/users
# si on veut limiter l'accès aux requêtes GET
#<limit GET>
# require valid-user
#</limit>
- Tests
- Tester l'accès http://ip/prive par un compte linux, par exemple root fctice et notez l'apparition d'une erreur 401 "Authorization Required"
- Dans ces conditions où se trouvera le fichier d'authentification ?
- Créer quelques comptes Apache à l'aide de l'utilitaite htpasswd
- Examiner le fichier /etc/apache2/users contenant les comptes ainsi créés
- Tester. La protection fonctionne t-elle ?
.htaccess directement dans /var/www/priveAllowOverride concernant ce répertoire
| Directive | Action |
|---|---|
AuthType basic | type d'authentification communément adopté (fait circuler les mots de passe en clair) |
AuthName texte | affichera ce texte comme invite dans une boite de dialogue |
AuthUserFile chemin/fichier | précise le fichier qui contient les comptes et mots de passe des utilisateurs ayant droit d'accès |
Require valid-user | l'accès s'applique à tous les comptes du fichiers, ou seulement aux comptes énumérés dans la liste |
admin, webmaster et toto
<Directory "/var/www/prive"> AuthType Basic AuthUserFile /etc/apache/users AuthName "Accès privé" # autres clauses # AuthGroupFile /etc/apache/groups <limit GET> # ATTENTION : GET en majuscules ! require valid-user # require user toto dupond # require group profs </limit> </Directory>
htpasswd.cd /etc/apache2 htpasswd -c users admin --> mot de passe demandé, puis confirmé htpasswd users totoAttention ! le fichier users doit pouvoir être lu par l'utilisateur www-data utilisé par le serveur.
cd /var/www/prive less .htaccess Options -Indexes Order allow,deny deny from all allow from .. AuthType Basic AuthUserFile /etc/apache2/users AuthName "Accès privé" Require valid-user
<Directory /var/www/prive> ........... Allowoverride All </Directory>
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>