= Restreindre l'accès a certains fichiers déposés sur Zamok = <> == 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 {{//?action=content|/|width="100%"}} 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/ }}} ---- CatégoriePagePublique