Les permissions d’accès sont différentes selon l’utilisateur
Sur un site hébergé, il y a 2 utilisateurs principaux : le webmestre qui ne peux faire généralement que du FTP, et Apache qui agit pour le compte de SPIP.
Or SPIP, n’a pas besoin d’écrire dans tous les répertoires ni d’effacer des fichiers partout : il signale d’ailleurs à l’installation quels sont les répertoires pour lesquels il faut des permissions spéciales. (/config, /IMG, /local, /tmp)
C’est la raison du chmod 777 qui signifie : toutes permissions à tous. Le 7 indique les droits de lecture, écriture et exécution ; il est répété 3 fois parce que sous Unix il y a 3 catégories de population :
- le propriétaire (Le propriétaire est généralement le créateur des fichiers / dossiers)
- le groupe auquel est rattaché le propriétaire (contient un groupe d’utilisateurs partageant les mêmes autorisations et privilèges d’utilisateur.)
- et le reste du monde.(signifie le grand public.)
Avant d’aller plus loin, il faut bien comprendre les bases :
– qui a le droit d’écrire, et où.
Je dis qui car il y a potentiellement deux acteurs susceptibles d’intervenir dans la gestion d’un site :
- un admin via du sftp/ftp/ssh ou que sais-je
- et le serveur https de l’autre.
Pour chacun existent les droits de lecture, d’écriture et d’exécution.
Ce dernier droit ( exécution ) est particulier sur les répertoires : il permet leur parcours.
Ceci étant dit, il faut donc que :
- infomaniak puissent tout lire et parcourir tous les répertoires et lire tous les fichiers.
- SPIP doit être capable d’écrire dans tmp,local, IMG et éventuellement plugins ( en cas d’auto install de plugins, pour les paranos, c’est à éviter ).
- le ftp de son coté peut potentiellement accéder en lecture et écriture à tout.
- le reste du monde n’est pas censé mettre son nez la dedans, mais par défaut on peut lui donner les droits de lecture et de parcours.
- le répertoire config peut éventuellement passer en lecture seule pour tout le monde histoire de limiter les possibilités de farces.
Donc a partir du momment ou vous vous connecter en manager ou FTP/SSH vous êtes :
Proprietaire | Groupe |
uid100178 | gid100178 |
par contre si c’est le pseudo plugin mutualisation qui se connecte :
Proprietaire | Groupe |
uid100178 | ldapusers |
Quels sont les differents Droits des Fichiers et dossiers
- Lecture – Vous pouvez uniquement afficher le fichier, mais vous ne pouvez pas modifier le contenu du fichier. Une fois appliqué sur le dossier, vous pouvez uniquement afficher les fichiers dans le dossier, mais vous ne pouvez pas supprimer ou ajouter des fichiers dans le dossier.
- Écrire – Vous pouvez éditer et modifier le fichier. Pour les dossiers, vous pouvez supprimer et ajouter des fichiers dans le dossier.
- Execute – Execute est principalement utilisé lorsque vous devez exécuter le fichier (couramment utilisé lorsque vous devez exécuter un script).
Chaque fichier et dossier contient des données 8 bits qui contrôlent les autorisations.
À sa forme binaire de base, ce sera « 000 », ce qui signifie qu’aucune permission de quelque forme que ce soit n’est accordée.
Lorsque vous définissez une autorisation « Lire », il ajoute 4 bits aux données, ce qui en fait « 100 » (au format binaire) ou « 4 » dans le format décimal habituel.
Définir une autorisation « Write » ajoutera 2 bits aux données, ce qui en fait « 010 » et « 2 » sous forme décimale.
Enfin, la définition d’une autorisation « Exécuter » ajoute 1 bit aux données, ce qui donnera « 001 » ou « 1 » sous forme décimale.
En bref :
- (Lecture) est équivalent à ‘4’.
- (Ecriture) est équivalent à ‘2’.
- (Exécution) est équivalent à ‘1’
Lorsque nous voulons définir des autorisations, nous additionnons simplement le nombre.
Par exemple, pour définir les autorisations de lecture et d’écriture, nous utiliserons ‘6’ (4 + 2) pour la permission. Pour lire, écrire et exécuter, nous utiliserons ‘7’ (4 + 2 + 1) pour la permission.
Voici la permutation différente :
0 – pas de permission
1 – exécuter
2 – écrire
3 – écrire et exécuter
4 – lire
5 – lire et exécuter
6 – lire et écrire
7 – lire, écrire et exécuter
En fonction des autorisations que vous souhaitez accorder au fichier, vous définissez simplement le nombre en conséquence.
Qu’en est-il des 3 chiffres ?
Eh bien, le premier chiffre est attribué au propriétaire, le deuxième chiffre est attribué au groupe et le troisième chiffre est attribué aux autres.
- Voici quelques-unes des autorisations couramment utilisées :
- 755 – Cet ensemble d’autorisations est couramment utilisé sur le serveur Web. Le propriétaire a toutes les permissions pour lire, écrire et exécuter. Tout le monde peut uniquement lire et exécuter, mais ne peut pas apporter de modifications au fichier.
- 777 – Tout le monde peut lire écrire et exécuter. Dans un serveur Web, il est déconseillé de définir l’autorisation ‘777’ pour vos fichiers et dossiers car cela permet à quiconque d’ajouter du code malveillant sur votre serveur. Toutefois, dans certains cas, vous devrez définir les autorisations 777 avant de pouvoir télécharger un fichier sur le serveur (par exemple, en téléchargeant des images dans WordPress).
-* 644 – Seul le propriétaire peut lire et écrire. Tout le monde ne peut que lire. Personne ne peut exécuter le fichier.
- 655 – Seul le propriétaire peut lire et écrire, mais pas exécuter le fichier. Tout le monde peut lire et exécuter, mais ne peut pas modifier le fichier.
Donc sur la mutualisation on aura :
- 777 pour le répertoire /sites
- 755 pour le répertoire SPIP de la mutualsation (mutusf)
- 644 pour les fichiers dans les répertoires