Jump to content
Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Crans/Services/Pages Perso/AccesRestreint » : différence entre les versions

De Wiki Crans
OldWikiCrans>WikiMilouse
Précision
Migration
 
(11 versions intermédiaires par 6 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
<!-- Page migrée depuis MoinMoin : PagesPerso/AccesRestreint -->
<!-- Page migrée depuis MoinMoin : PagesPerso/AccesRestreint -->
{{OldMoinMoin/Archive Notice}}
 
= Restreindre l'accès a certains fichiers déposés sur Zamok =
Pour restreindre l’accès de votre [[Crans/Services/Pages Perso|site personnel]], plusieurs méthodes existent :


== Avec un fichier .htaccess ==
== Avec un fichier .htaccess ==
 
En utilisant un fichier ''.htaccess'', on peut restreindre l'accès à certains dossiers stockés dans ''www''. Pour cela il faut créer deux fichiers:
En utilisant un fichier ''.htaccess'', on peut restreindre l'accès à certains dossiers stockés dans ''www''.Pour cela il faut créer deux fichiers:
* un fichier nommé ''.htaccess'' dans le dossier dont on veut restreindre l'accès;
* un fichier nommé ''.htaccess'' dans le dossier dont on veut restreindre l'accès;
* un fichier nommé ''.htpasswd'' dans ''/home/nom_utilisateur''.
* un fichier nommé ''.htpasswd'' dans ''/home/nom_utilisateur''.


=== Contenu du fichier .htaccess ===
=== Contenu du fichier .htaccess ===
<pre>
<pre>
# .htaccess
# .htaccess


AuthUserFile /home/nom_utilisateur/.htpasswd
AuthUserFile /home/nom_utilisateur/.htpasswd
AuthGroupFile /dev/null
AuthName "Acces restreint"
AuthName "Acces restreint"
AuthType Basic
AuthType Basic
<Limit GET POST>
Require valid-user
Require valid-user
</Limit>
</pre>
</pre>


Qui fait référence au chemin d'accès du fichier ''.htpasswd''
Qui fait référence au chemin d'accès du fichier ''.htpasswd''
=== Contenu du fichier .htpasswd ===
=== Contenu du fichier .htpasswd ===
Ce fichier contient une liste des utilisateurs autorisés. La syntaxe de la liste est la suivante:
Ce fichier contient une liste des utilisateurs autorisés. La syntaxe de la liste est la suivante:
<pre>
<pre>
nom_utilisateur:mot_de_passe_crypté
nom_utilisateur:mot_de_passe_chiffré
</pre>
</pre>


'''''Exemple:'''''On autorise deux utilisateurs:<!--START-LIST-->* ''papa'' qui a pour mot de passe ''noel'';
'''''Exemple:''''' On autorise deux utilisateurs:
* ''papa'' qui a pour mot de passe ''noel'';
* ''pere'' qui a pour mot de passe ''fouettard''.
* ''pere'' qui a pour mot de passe ''fouettard''.


Ligne 43 : Ligne 38 :
</pre>
</pre>


Pour crypter les mots de passe, il y a plusieurs solutions:<!--START-LIST-->* savoir le faire de tête (mieux vaut être salement nerd pour ça)
Pour chiffrer les mots de passe, il y a plusieurs solutions :
* savoir le faire de tête (mieux vaut être salement nerd pour ça)
* savoir se tourner vers des gens qui savent le faire, comme par exemple ce site: http://perso.nerim.net/htpasswd.php
* savoir se tourner vers des gens qui savent le faire, comme par exemple ce site: http://perso.nerim.net/htpasswd.php
* Le plus simple reste l'utilisation de <code><nowiki>htpasswd</nowiki></code>.  
* '''Le plus simple''' reste l'utilisation de la commande <code><nowiki>htpasswd</nowiki></code>.
 
<pre>
<pre>
htpasswd -c /home/nom_utilisateur/.htpasswd toto
htpasswd -c /home/nom_utilisateur/.htpasswd toto
</pre>
</pre>


demandera le mot de passe de toto et créera le fichier <code><nowiki>/home/nom_utilisateur/.htpasswd</nowiki></code><br><pre>
demandera le mot de passe de toto et créera le fichier <code><nowiki>/home/nom_utilisateur/.htpasswd</nowiki></code> <br> Puis
<pre>
htpasswd /home/nom_utilisateur/.htpasswd toto
htpasswd /home/nom_utilisateur/.htpasswd toto
</pre>
</pre>


Pour modifier le mot de passe de "toto" ou rajouter d'autres couples "login/mot de passe" (changer "toto" en conséquence)Plus d'informations sur cette commande en faisant <code><nowiki>man htpasswd</nowiki></code> sur zamok
Pour modifier le mot de passe de "toto" ou rajouter d'autres couples "login/mot de passe" (changer "toto" en conséquence) Plus d'informations sur cette commande en faisant <code><nowiki>man htpasswd</nowiki></code> sur zamok
<!--START-LIST-->* On notera que le fichier <code><nowiki>.htpasswd</nowiki></code> sera lisible par tous les utilisateurs du Cr@ns. C'est pas le mieux en termes de sécurité même si les mots de passes qu'il contient sont chiffrés.  
* On notera que le fichier <code><nowiki>.htpasswd</nowiki></code> sera lisible par tous les utilisateurs du Cr@ns. C'est pas le mieux en termes de sécurité même si les mots de passes qu'il contient sont chiffrés.


== Interdire l'accès en ssh aux autres utilisateurs du cr@ns ==
== Interdire l'accès en ssh aux autres utilisateurs du Cr@ns ==
 
Ce n'est qu'une histoire d'autorisation sur le dossier en question :
Ce n'est qu'une histoire d'autorisation sur le dossier en question:
<pre>
<pre>
chmod -R g-rwx,o+r le_dossier
chmod -R g-rwx,o+r le_dossier
Ligne 65 : Ligne 62 :
</pre>
</pre>


Malheureusement cette méthode n’empêche pas les clubs (qui n'appartiennent pas au groupe <code><nowiki>users</nowiki></code> mais au groupe <code><nowiki>clubs</nowiki></code>) de pouvoir accéder à nos fichiers. Il est donc préférable d'utiliser <code><nowiki>setfacl</nowiki></code> :
<pre>
chmod -R go-rwx le_dossier
setfacl -R -m u:www-data:rx le_dossier
</pre>
(on pourrait veiller à ne mettre le droit d’exécution uniquement sur les dossiers mais bon…)
{{Msg/Alerte|Le programme setfacl agit localement, il doit être exécuté sur zamok pour être pris en compte par les pages perso.}}
== Préciser aux robots d'indexation quelles pages peuvent être indexées ==
Pour empêcher les moteurs de recherches comme google d'indexer vos pages, rien de plus simple, il suffit de créer un fichier <code><nowiki>robots.txt</nowiki></code>
Ce fichier se place à la racine de vos pages (dans le dossier <code><nowiki>www/</nowiki></code>) et peut contenir les commandes suivantes :
<!--START-LIST-->* User-Agent: permet de préciser le robot concerné par les directives suivantes. La valeur * signifie "tous les moteurs de recherche".
* Disallow: permet d'indiquer les pages à exclure de l'indexation. Chaque page ou chemin à exclure doit être sur une ligne à part et doit commencer par /. La valeur / seule signifie "toutes les pages du site". Le chemin doit être relatif à votre page perso, donc pour interdire toutes les pages de votre page perso, il faut mettre <code>/</code> et il ne faut pas mettre <code><nowiki>/~login_crans/</nowiki></code> ou <code><nowiki>/login_crans/</nowiki></code>.
Les modifications que vous effectuez dans votre fichier <code><nowiki>robots.txt</nowiki></code> apparaîtront sous une heure sur http://perso.crans.org/robots.txt
{{Msg/Alerte|Le fichier robots.txt ne doit contenir aucune ligne vide !}}
Voici des exemples de fichier robots.txt :
<!--START-LIST-->* Exclusion de toutes les pages :
<pre>
User-Agent: *
Disallow: /
</pre>
* Exclusion d'une ou plusieurs pages :
<pre>
User-Agent: *
Disallow: /repertoire/chemin/page.html
Disallow: /repertoire/chemin/page2.html
Disallow: /repertoire/chemin/page3.html
</pre>
* Exclusion de toutes les pages d'un répertoire et ses sous-dossiers :
<pre>
User-Agent: *
Disallow: /repertoire/
</pre>


{{Crans/Nav}}
{{ListeBadges|
{{Badge/Crans/Utilisation}}
{{Badge/Page_Publique}}
}}

Dernière version du 13 octobre 2026 à 08:19


Pour restreindre l’accès de votre site personnel, plusieurs méthodes existent :

Avec un fichier .htaccess

En utilisant un fichier .htaccess, on peut restreindre l'accès à certains dossiers stockés dans www. Pour cela il faut créer deux fichiers:

  • un fichier nommé .htaccess dans le dossier dont on veut restreindre l'accès;
  • un fichier nommé .htpasswd dans /home/nom_utilisateur.

Contenu du fichier .htaccess

# .htaccess

AuthUserFile /home/nom_utilisateur/.htpasswd
AuthName "Acces restreint"
AuthType Basic
Require valid-user

Qui fait référence au chemin d'accès du fichier .htpasswd

Contenu du fichier .htpasswd

Ce fichier contient une liste des utilisateurs autorisés. La syntaxe de la liste est la suivante:

nom_utilisateur:mot_de_passe_chiffré

Exemple: On autorise deux utilisateurs:

  • papa qui a pour mot de passe noel;
  • pere qui a pour mot de passe fouettard.

Qui donne le fichier suivant:

# .htpasswd

papa:KZjIAGTjhe4Ys
pere:pC2IXXpDUjAl.

Pour chiffrer les mots de passe, il y a plusieurs solutions :

  • savoir le faire de tête (mieux vaut être salement nerd pour ça)
  • savoir se tourner vers des gens qui savent le faire, comme par exemple ce site: http://perso.nerim.net/htpasswd.php
  • Le plus simple reste l'utilisation de la commande htpasswd.
htpasswd -c /home/nom_utilisateur/.htpasswd toto

demandera le mot de passe de toto et créera le fichier /home/nom_utilisateur/.htpasswd
Puis

htpasswd /home/nom_utilisateur/.htpasswd toto

Pour modifier le mot de passe de "toto" ou rajouter d'autres couples "login/mot de passe" (changer "toto" en conséquence) Plus d'informations sur cette commande en faisant man htpasswd sur zamok

  • On notera que le fichier .htpasswd sera lisible par tous les utilisateurs du Cr@ns. C'est pas le mieux en termes de sécurité même si les mots de passes qu'il contient sont chiffrés.

Interdire l'accès en ssh aux autres utilisateurs du Cr@ns

Ce n'est qu'une histoire d'autorisation sur le dossier en question :

chmod -R g-rwx,o+r le_dossier
chmod o+x le_dossier

Malheureusement cette méthode n’empêche pas les clubs (qui n'appartiennent pas au groupe users mais au groupe clubs) de pouvoir accéder à nos fichiers. Il est donc préférable d'utiliser setfacl :

chmod -R go-rwx le_dossier
setfacl -R -m u:www-data:rx le_dossier

(on pourrait veiller à ne mettre le droit d’exécution uniquement sur les dossiers mais bon…) Le programme setfacl agit localement, il doit être exécuté sur zamok pour être pris en compte par les pages perso.

Préciser aux robots d'indexation quelles pages peuvent être indexées

Pour empêcher les moteurs de recherches comme google d'indexer vos pages, rien de plus simple, il suffit de créer un fichier robots.txt Ce fichier se place à la racine de vos pages (dans le dossier www/) et peut contenir les commandes suivantes :

  • User-Agent: permet de préciser le robot concerné par les directives suivantes. La valeur * signifie "tous les moteurs de recherche".
  • Disallow: permet d'indiquer les pages à exclure de l'indexation. Chaque page ou chemin à exclure doit être sur une ligne à part et doit commencer par /. La valeur / seule signifie "toutes les pages du site". Le chemin doit être relatif à votre page perso, donc pour interdire toutes les pages de votre page perso, il faut mettre / et il ne faut pas mettre /~login_crans/ ou /login_crans/.

Les modifications que vous effectuez dans votre fichier robots.txt apparaîtront sous une heure sur http://perso.crans.org/robots.txt Le fichier robots.txt ne doit contenir aucune ligne vide !

Voici des exemples de fichier robots.txt :

  • Exclusion de toutes les pages :
User-Agent: *
Disallow: /
  • Exclusion d'une ou plusieurs pages :
User-Agent: *
Disallow: /repertoire/chemin/page.html
Disallow: /repertoire/chemin/page2.html
Disallow: /repertoire/chemin/page3.html
  • Exclusion de toutes les pages d'un répertoire et ses sous-dossiers :
User-Agent: *
Disallow: /repertoire/

Voir aussi