
Les autorisations d’accès au fichiers et dossiers peuvent être très important quand il s'agit de l'hébergement de votre site web. Les permissions peuvent permettre au serveur d'écrire et d'éditer vos fichiers. Parallèlement à cela, certains fichiers doivent être protégés de l'écriture et de l'édition, par mesure de sécurité. Vous pouvez modifier les permissions des fichiers de plusieurs façons.
Changer les permissions à partir du gestionnaire de fichier dans cPanel
Une des façons simples et de base pour modifier les permissions est par le gestionnaire de fichier dans cPanel. Pour modifier les autorisations d'un fichier ou un dossier dans cPanel, suivez les étapes suivantes :
- Connectez-vous à votre cPanel (si ce n’est pas déjà)
- Cliquez sur Gestionnaire de fichier
- Cliquez sur le nom du fichier pour lequel vous souhaitez modifier les permissions.
- Cliquez sur le lien Modifier les autorisations en haut à droite de la page.
- Sélectionnez les permissions que vous souhaitez définir pour le fichier.
- Cliquez sur Modifier les autorisations puis sur sauvegarder
Chmod À partir de FTP
Connectez-vous à FTP en utilisant un gestionnaire de FTP comme Filezilla. Allez au fichier et cliquez à droite. Choisir les autorisations ou les attributs ou propriétés (dépend de votre programme).
Modifier les permissions avec SSH ou un script
Cela peut être fait avec la commande chmod.
Par exemple pour changer la permission d’un fichier à 644 on utilise cette commande:
chmod 755 configuration.php
Que signifient ces autorisations et ces chiffres?
Les autorisations de fichier déterminent ce que vous êtes autorisé à faire et qui est autorisé à le faire.
Les colonnes de ce tableau représentent les trois types d'utilisateurs. Le premier est le propriétaire (Owner), le propriétaire, c'est vous, la personne qui a accès au cPanel ou au SSH. La deuxième est le groupe (Group), le groupe est d'autres personnes sur votre serveur. Troisièmement, il y a le monde (World), le monde est tout visiteur du public (pensez world wide web).
Chaque ligne représente une action autorisée pour ce fichier (ou dossier). Lire (Read) signifie que l'utilisateur est autorisé à consulter le dossier ou le fichier. L’écriture (Write) veut dire que l'utilisateur est autorisé à modifier le fichier. Exécuter (Execute) signifie que l'utilisateur est autorisé à exécuter le fichier.
Il est très important que le Groupe et Monde soient capable de voir les fichiers de votre site Web. Cependant, il y a des fichiers que vous voudrez peut-être que personne ne voie. Si vous ne cochez pas l’option de lecture pour le groupe et le monde, le fichier ne sera pas affiché dans le navigateur de quiconque (à la place les visiteurs verront une erreur 403 Forbidden).
Dans le Gestionnaire de fichier, les permissions sont exprimées en chiffres. Nous ne nous intéressons qu’à trois chiffres, donc si vous voyez 4 chiffres, vous pouvez ignorer le premier. Ainsi 0755 est le même que 755.
Les chiffres représentent une combinaison de chaque permission unique. En outre, le premier des trois chiffres représente les permissions pour le propriétaire. Le deuxième chiffre représente le Groupe. Le troisième chiffre représente le monde.
- Lire est égale à 4.
- Écrire est égale à 2.
- Exécuter es égale à 1.
- Aucune autorisation pour un utilisateur est égal à 0.
Ainsi ...
- Écrire et exécuter sans lecture est égal à 3.
- Lecture et exécution sans écriture est égal à 5.
- Lire et écrire sans exécuter est égal à 6.
- Lire, écrire et exécuter est égal à 7.
À ce stade, tout ce que vous devez savoir est que vos fichiers doivent toujours avoir des permissions de 644 ou 755. (Pour la plupart des fichiers, ce n'est pas grave si vous donnez la permission d'exécution ou non. Vous ne verrez pas de différence.)
Toutefois, les dossiers doivent toujours être 755.
Une autre règle. Tous les fichiers dans le dossier cgi-bin doivent avoir une permission 755.
Pour les avancés
Une préoccupation commune concerne l’utilisation des autorisations de 777.
La plupart des hébergeurs web ne permettent pas l’utilisation de 777 sur les fichiers qui fonctionnent du côté serveur (ex: PHP). Cependant, de nombreux scripts nécessitent que vous modifiiez vos fichiers à 777.
Je peux vous dire que 755 fera l’affaire à la place de 777. Vous n'aurez pas besoin d'utiliser 777 sur les fichiers PHP ou les dossiers.
Des précautions à prendre
Le souci est de donner des autorisations en écriture au groupe et monde. Ceci permet aux pirates informatiques de la World Wide Web d’être en mesure d’éditer vos fichiers. Ainsi, les deux derniers chiffres de permissions de fichiers ne doivent jamais être 2, 3, 6, ou 7.
Le problème, c'est lorsque vous installez un script PHP, le script doit obtenir la permission de modifier des fichiers. Traditionnellement, PHP est considéré comme « indéterminé » sur le serveur. Par conséquent, PHP est traité de la même façon que tout autre visiteur inconnu et doit obéir aux autorisations accordées au Monde.
La solution à ce conflit est de traiter PHP comme le propriétaire. On peut le faire en mettant en œuvre un environnement spécial de sécurité de PHP connu comme suPHP (ou PHPsuExec).
Avec suPHP, tous les scripts PHP ont les permissions que le propriétaire, et les visiteurs extérieurs sont toujours limités par les autorisations du monde. Par conséquent, 755 est le nombre parfait, il permet toutes les actions pour PHP et seulement la lecture / visualisation pour les pirates potentiels.
Autres formats
Les permissions peuvent être exprimées de plusieurs façons. Vous avez déjà vu la matrice à deux dimensions et les numéros de 3 ou 4 chiffres.
Toutefois, si vous préférez utiliser le shell Linux (SSH), alors les permissions de fichiers ressemblera à ceci:
Vous pouvez ignorer le premier caractère, il représente le type de fichier plutôt que des permissions. Ensuite, vous voyez trois lettres qui représentent les autorisations du propriétaire.
- r = lecture
- w = écriture
- x = exécution
- - (Trait d'union) = aucune autorisation
Le propriétaire aura normalement tous les trois types de permission, qui est représenté par rwx.
Les trois caractères suivants représentent les autorisations du Groupe. Enfin, les trois derniers caractères représentent les autorisations du monde.
Notez que le groupe et monde n’ont pas le droit d'écriture. À la place de «w» on utilise un trait d'union, ce qui signifie que l'écriture est certainement pas permise: r-x.
Voici quelques conversions à considérer.
2D Matrix | Représentation numérique | Représentation Linux |
| 755 ou 0755 | drwxr-xr-x |
| 644 ou 0644 | drw-r--r-- |
| 700 ou 0700 | drwx------ |
| 777 ou 0777 | drwxrwxrwx |