Sites persos et droits des fichiers

Un site web peut contenir 2 types de fichiers ainsi que des dossiers 

L'analyse est peu philosophique, mais techniquement juste ;)

  • Les fichiers "statiques"

    Ce sont les fichiers qui seront rendus accessibles tels quels. C'est le cas des fichiers html, texte, tableur, images, feuilles de style(css), etc.

    Les droits

    Pour être accessibles par le web, les droits d'accès de ces fichiers doivent permettre à tous de les lire. (mode unix '644' ou 'a+r').

  • Les scripts

    Ce sont des fichiers qui seront analysés ou exécutés par le serveur web sous votre identité avant d'envoyer le résultat (le plus souvent sous forme de html) au client (navigateur).

    Les languages supportés à l'école sont: php(.php), perl(.pl), python(.py), shell(.sh).

    A l'exception de php, les scripts doivent *toujours* commencer par une ligne '#!python' (remplacer python par l'interpréteur adéquat)

    Sur les "sites perso" et les sites des associations, ces fichiers doivent avoir des droits d'accès beaucoup plus restrictifs. (ils peuvent contenir des informations confidentielles, mots de passe etc.).

    Les droits

    Ils doivent avoir l'attribut 'exécutable' pour l'utilisateur, et rien pour 'groupe' et 'autres' (mode unix 700 ou 500). Le dossier les contenant ne doit pas permettre l'écriture par le groupe.

  • Les dossiers 

    Dans le cas général, le serveur web ne listera jamais le contenu d'un dossier.

    ex: soit un dossier avec des documents dans "site/dossier/", l'adresse  http://umachin.perso.centrale-marseille.fr/dossier affichera une page "Accès interdit".

    Pour faire afficher le contenu d'un dossier, il faut créer dans ce dossier un fichier nommé .htaccess, contenant cette ligne:

    Options +Indexes

    (c'est le cas du dossier 'visible' présent dans votre dossier html à la création de votre compte)

    Les droits
    • Les dossiers qui doivent être accessibles aux navigateurs doivent avoir l'attribut 'exécutable' pour tous (mode 711 - u+rwx,a+x).
    • Les dossiers qui doivent être 'listés' doivent aussi autoriser la lecture pour tous. (mode 755 ou u+rwx,a+rx).
    • Les dossiers qui ne seront accessibles que par les scripts peuvent être restreints à l'utilisateur (700 ou 500 ou a-rwx,u+rx)

Si vous êtes sur une machine linux ou que vous avez un client ssh (chercher "putty ssh" dans google) - et que vous n'avez pas peur de lancer un script copié-collé du web (vous devriez !;), tout devrait être d'aplomb après avoir lancé ce script dans votre compte:

http://dgeo.perso.centrale-marseille.fr/remetmoilehtmldaplomb.txt