De Hébergeur Internet Le Mans Sarthe (agence Nozicaa).
Sommaire |
Permissions de fichier Web
La majorité des serveurs Web est basée sur les systèmes d’exploitation UNIX[1], ou sur des systèmes s’en inspirant pour diverses raisons (unification, sécurité …). Si vous choisissez d’héberger votre site sur une plate-forme professionnelle, vous avez donc de fortes chances que cette dernière corresponde à ces caractéristiques.
Ceci rend donc utile la compréhension du fonctionnement de ces systèmes, afin pouvoir gérer efficacement votre hébergement Web, notamment en ce qui concerne les droits d’accès (lecture/écriture) pour les fichiers et répertoires de votre site.
Catégories de droits
Pour chaque fichier Web, les droits d’accès (permissions UNIX) sont répartis en 3 catégories :
- droits du propriétaire du fichier (vous dans le cas de votre hébergement Web),
- droits du groupe (service Web dans le cas d’un hébergement ; ex : apache) : outre un propriétaire, un groupe d’utilisateur peut-être associé à un fichier,
- droits des autres utilisateurs : utilisateurs autres que le propriétaire ou que le groupe.
De le cadre d’un hébergement Web, pour des raisons de sécurité, seules les 2 premières catégories devraient être renseignées. En effet, seul vous et le service Web devraient être autorisés à accéder aux fichiers de votre site : vous pour la mise-à-jour de votre site, le service Web afin pouvoir transmettre les pages aux visiteurs (pouvoir animer votre site).
Principes de gestion
Différentes permissions peuvent être données au propriétaire ou au groupe sur chaque fichier ou répertoire :
- permission en lecture (ou r pour read),
- permission en écriture (ou w pour write),
- permission en exécution (ou x) : rarement utilisé pour les fichiers (hormis en cas de support CGI), mais nécessaire pour les répertoires (afin de les rendre navigables).
Outre le fait de pouvoir avoir des accès sur les fichiers, la notion de propriétaire est importante car seul le propriétaire du fichier (ou un administrateur système, root en terminologie UNIX) est habilité à changer le groupe et les permissions d’un fichier. Lorsque vous transmettez (par FTP, WebDAV …) des fichiers sur votre hébergement Web, vous êtes automatiquement propriétaire de ces fichiers Web, et pouvez donc ajustez les permissions en fonction des nécessités de votre site. En revanche, si des fichiers sont déposés sur votre hébergement par le biais de votre site lui-même (ex : script PHP de téléversement), il est courant que le service Web soit propriétaire de ces fichiers : en effet c’est le service qui écrit au final les données dans le fichiers Web concernés. Dans ce cas, vous ne pourrez pas changer les permissions sur ces fichiers grâce à l’accès privatif de hébergement Web (généralement, accès en mise-à-jour par FTP). Dans le cadre du système de permissions UNIX, il n’est généralement pas non plus possible de faire en sorte que le service Web vous cède la qualité de propriétaire sur les fichiers ainsi transférés. Afin de gérer les fichiers déposés par le service Web lui-même (ex : pouvoir les supprimer de votre site, les déplacer …), il est nécessaire de passer par ce service pour défaire ce qu’il a précédemment réalisé, par exemple réaliser un script PHP de suppression (qui sera appelé par le biais de votre site, du service Web). Cela illustre l’attention qu’il est nécessaire de porter à la gestion du propriétaire de vos fichiers Web.
Outils d'administration
Dans les divers logiciels de mise-à-jour de site, différents moyens sont utilisés pour représenter ou modifier les permissions des fichiers Web. La représentation traditionnelle des permissions est une séquence de 6 caractères, regroupé en 3 ensemble de 3 caractères : 1 ensemble pour les droits propriétaires, 1 ensemble pour les droits du groupe, 1 ensemble pour les autres (non significatif dans le cadre de votre site Web).
rwxr-xr-- \ /\ /\ / v v v | | droits des autres utilisateurs | | | droits des utilisateurs du groupe | droits du propriétaire
fig. 1 : Exemple de représentation traditionnelle UNIX des permissions de fichier (lecture-écriture-exécution pour le propriétaire, lecture-exécution pour le groupe, lecture uniquement pour les autres)
Les permissions de fichier Web peuvent également être représentées sous une forme numérique à 3 chiffres (ou 4 dans certains cas spéciaux). De même qu’avec la représentation précédente, chaque chiffre correspond à un groupe : 1er chiffre pour le propriétaire, 2ème chiffre pour le groupe, 3ème pour les autres utilisateurs. Pour chacune de ces catégories, le chiffre est déterminé en additionnant les valeurs symbolisant les permissions désirées :
- 4 pour la lecture (r),
- 2 pour l’écriture (w),
- 1 pour l’exécution (x).
Ainsi 7 signifie lecture-écriture-exécution (rwx), 5 signifie lecture-exécution (r-x) et 3 représente écriture-exécution (-wx). Cette forme est nommée mode de fichier et, est couramment utilisée pour la modification des permissions dans les logiciels de mise-à-jour (fonction de changement de permissions appelée « chmod »), même si les outils modernes vous offrent des interfaces graphiques et simplifiées de contrôle de ces droits.
Il est à noter que même si votre hébergement n’est pas basé sur une plate-forme UNIX, il reste probable que ce système de permissions de fichier soit appliqué. En effet, le système de permission d’accès POSIX, pouvant être utilisé sur des plate-formes Windows NT, est inspiré dans sa majeure partie des permissions UNIX.
Voir également
- Article Permissions UNIX sur l’encyclopédie libre Wikipédia.
Références
- ↑ Netcraft, Web Server Survey Archives