Vous essayez de déterminer les permissions appropriées de WordPress pour les fichiers et les répertoires ? Ou bien vous n’arrivez pas à comprendre l’idée même des permissions de WordPress ?

Les permissions des fichiers WordPress sont essentielles à la sécurité et au fonctionnement de votre site, vous devez donc les comprendre. Si vous utilisez un hébergement WordPress, votre hébergeur a très certainement déjà configuré les choses pour vous, mais il est tout de même utile de comprendre ces concepts si vous rencontrez des problèmes.

Donc, que vous n’ayez jamais entendu parler des permissions de fichiers ou que vous soyez simplement à la recherche des permissions de fichiers correctes pour WordPress, nous avons tout prévu dans cet article. Si vous êtes déjà familiarisé avec les permissions de fichiers, vous pouvez cliquer sur le deuxième lien pour passer directement aux permissions de fichiers optimales pour WordPress.

Que sont les permissions de fichiers ?

En un mot, les permissions de fichiers contrôlent comment les différents utilisateurs peuvent interagir avec les fichiers sur le serveur de votre site WordPress. Plus précisément, les permissions de fichiers contrôlent qui peut lire, écrire et exécuter les fichiers :

  • Lire : La capacité de lire le contenu d’un fichier.
  • Écrire : La capacité de modifier un fichier.
  • Exécuter : La capacité à « utiliser » un fichier (par exemple, exécuter un script).

Que sont les utilisateurs ?

Il existe trois « types » différents d’utilisateurs :

  • Propriétaire : Le propriétaire assigné du fichier ou du répertoire.
  • Groupe : Les membres du groupe qui possède le fichier.
  • Public : Tous les utilisateurs autres que le propriétaire du fichier ou les membres du groupe.

Chaque fichier ou répertoire est la propriété d’un utilisateur spécifique ou d’un groupe particulier. Chaque utilisateur peut être membre de plusieurs groupes, mais il ne peut avoir qu’un seul groupe principal.

Par exemple, lorsque vous vous connectez à votre site via SFTP, vous utilisez un compte utilisateur sur votre serveur, et ce compte utilisateur appartient à un ou plusieurs groupes, selon la configuration de votre serveur.

Note : la plupart des gens n’ont pas besoin de saisir le concept des « utilisateurs » car votre hébergeur configure tout cela pour vous. Cependant, il est essentiel de comprendre le fonctionnement des permissions de fichiers. Si vous vous sentez un peu perdu dans cette section, sachez que dans la plupart des cas, votre hébergeur a configuré les utilisateurs de manière appropriée pour votre environnement de serveur.

Avec les permissions de fichiers, vous pouvez contrôler ce que chaque type d’utilisateur (propriétaire, groupe, public) peut faire aux fichiers et répertoire de votre serveur (Lire, Écrire, Exécuter).

En général, les propriétaires du fichier devraient avoir le plus de permissions ; les utilisateurs qui appartiennent au même groupe auraient les mêmes permissions ou moins ; les utilisateurs publics auraient les mêmes permissions ou moins que le groupe :

Propriétaire > Groupe > Public

L’idée des permissions de fichiers est très similaire au système de rôles et de capacités de WordPress. Si vous êtes l’administrateur de votre site, vous avez plus de contrôle qu’un éditeur. Les administrateurs peuvent installer de nouvelles extensions, par exemple, mais pas les éditeurs.

De même, un éditeur a beaucoup plus de contrôle sur votre site qu’un visiteur anonyme, même si l’éditeur n’a pas autant de pouvoir qu’un administrateur. Par exemple, un éditeur peut modifier les articles de blog d’autres personnes et publier de nouveaux articles de blog, mais il ne peut pas installer de nouvelles extensions.

Que signifient les chiffres dans les permissions de fichiers ?

Les permissions de fichiers sont représentées par un nombre à trois chiffres appelé mode de permission (par exemple 777, 440).

Chaque chiffre du numéro correspond à ce qu’un utilisateur spécifique peut faire :

  • Premier chiffre : Contrôle ce qu’un Propriétaire peut faire.
  • Second chiffre : Contrôle ce que les comptes utilisateurs du Groupe de l’utilisateur peuvent faire.
  • Troisième chiffre : Contrôle ce que tout le monde peut faire (Public).

Chaque chiffre du mode de permission est la somme des chiffres affectés à chaque action :

  • Lire : 4
  • Écrire : 2
  • Exécuter : 1

Si vous ne souhaitez accorder aucune autorisation, utilisez le chiffre 0.

Encore une fois, le nombre que vous voyez dans le mode de permissions est la somme de toutes les permissions dont dispose une entité. Par exemple, si le Propriétaire peut Lire (4) et Écrire (2), le mode de permission sera de 6 (4+2).

Ou, si un propriétaire a les trois permissions, ce serait 7 (4+2+1).

Ainsi, 777 est la configuration la plus permissive. Cela signifie que :

  • Premier chiffre – 7 – Le propriétaire peut lire (4), écrire (2) et exécuter (1).
  • Second chiffre – 7 – Le groupe peut lire (4), écrire (2) et exécuter (1).
  • Troisième chiffre – 7 – Le public peut lire (4), écrire (2) et exécuter (1).

C’est pour cette raison que vous ne voudrez pratiquement jamais définir des permissions à 777 sur votre site WordPress. Nous en parlerons plus en détails ci-dessous.

Si vous voulez jouer avec cette idée, vous pouvez utiliser l’outil de calcul de chmod pour voir comment les chiffres changent lorsque vous attribuez des permissions différentes à des utilisateurs différents.

Que signifient les lettres dans les permissions de fichiers ?

Bien que vous rencontriez probablement le plus souvent le format numérique, vous verrez aussi parfois les permissions de fichiers représentées par des lettres et des tirets.

Par exemple :

rwxr--r--

Voici comment fonctionne ce format :

  • r = Permission de lecture
  • w = Permission d’écriture
  • x = Permissions d’exécution
  • (trait d’union) = Aucune permission

Il y a neuf caractères au total : les trois premiers s’appliquent au propriétaire, les trois suivants au groupe et les trois derniers au public.

Dans ce format, l’équivalent de 777 serait rwxrwxrwx.

Pourquoi les permissions de fichiers WordPress sont-elles importantes ?

Comme les permissions de fichiers contrôlent ce que les différents utilisateurs peuvent faire aux fichiers de votre serveur, elles jouent un rôle essentiel dans la sécurité de WordPress.

Imaginez que vous donniez la valeur 777 à tous les fichiers et répertoires de votre site. Cela signifie que n’importe qui peut créer de nouveaux fichiers, modifier ou supprimer des fichiers existants, exécuter des scripts, etc. Les gens pourraient ajouter des scripts malveillants sur votre site et les exécuter, ce qui entraînerait rapidement toutes sortes de problèmes. Ce serait un véritable cauchemar !

Toutefois, les permissions de fichiers sont un exercice d’équilibriste, et si vous êtes trop restrictif, votre site cessera également de fonctionner.

Par exemple, si vous fixez vos autorisations à 000, votre site WordPress cessera entièrement de fonctionner car il ne pourra même pas lire les fichiers de votre serveur.

C’est pourquoi les permissions optimales pour WordPress se situent toujours entre 000 (personne n’a de permissions) et 777 (tout le monde a toutes les permissions).

Les permissions de fichiers peuvent également être délicates, car même dans le cadre de scénarios plus réalistes, vous pouvez rencontrer des problèmes. Par exemple, 444 est une configuration très sûre pour le fichier .htaccess de votre site.

Cependant, si vous le configurez de cette manière, vous allez probablement rencontrer des problèmes avec certaines extensions qui doivent pouvoir écrire dans le fichier .htaccess de votre site (comme les extensions de mise en cache telles que WP Rocket et W3 Total Cache).

Par conséquent, si vous utilisez l’une de ces extensions nécessitant un accès en écriture, vous devrez peut-être opter pour un code 644 ou même 666, légèrement plus permissif, en fonction de la configuration de votre serveur web.

Pourquoi devez-vous modifier les permissions des fichiers WordPress ?

La réponse courte est que la plupart des gens n’ont pas besoin de modifier manuellement les permissions de fichiers.

Si vous avez installé WordPress à l’aide de l’installateur automatique de votre hébergeur, tout bon hébergeur devrait automatiquement configurer les permissions de fichiers optimales pour vous dans le cadre de ce processus de configuration. Si vous utilisez le programme d’installation de WordPress chez Kinsta, par exemple, vous pouvez être sûr que nous configurons les permissions de fichiers correctes – cela fait partie de ce que nous faisons en tant qu’hébergeur WordPress infogéré pour vous faciliter la vie.

Donc, si vous utilisez l’installateur automatique de votre hébergeur et que votre site WordPress fonctionne bien, vous n’avez probablement pas besoin de modifier les permissions de fichiers de votre site.

Cependant, des problèmes peuvent survenir si vous avez installé WordPress manuellement. Vous pouvez également rencontrer des problèmes avec les permissions de fichiers lors de l’installation et de l’utilisation d’extensions, comme nos exemples d’extensions de mise en cache de la section précédente.

Les permissions de fichiers correctes pour WordPress

Dans cette section, nous parlerons des permissions de fichiers correctes pour WordPress. Ensuite, si vous avez besoin d’un coup de main, nous vous montrerons comment les modifier dans la section suivante.

Tout d’abord, il est important de noter que les permissions de fichiers optimales dépendent en partie de la façon dont votre environnement d’hébergement est configuré. Ce qui est optimal et sécurisé pour un environnement ne le sera pas nécessairement pour d’autres environnements ; ceci est particulièrement vrai pour l’hébergement mutualisé utilisant suEXEC.

En général, une bonne règle à suivre pour tenir compte de ce facteur est de commencer par la configuration la moins permissive et de n’ajouter des permissions que si nécessaire pour que les choses fonctionnent. Par exemple, en ce qui concerne le fichier wp-config.php, vous verrez des valeurs allant de 400 à 644. Si vous n’êtes pas sûr de savoir par où commencer, vous pouvez commencer par 400, tant que vous reconnaissez que cette configuration peut poser des problèmes avec la configuration de votre serveur, et que vous devrez peut-être la rendre plus permissive si vous rencontrez des problèmes.

Et quoi qu’il en soit, vous ne devez jamais fixer les permissions de quoi que ce soit à 777 (sauf si vous êtes un expert et que vous avez une excellente raison de le faire).

Permissions par défaut pour la plupart des fichiers/répertoires de WordPress

En général, les permissions de fichiers correctes pour WordPress doivent être les suivantes :

  • Fichiers : 644
  • Répertoires : 755

Toutefois, il existe quelques exemptions spécifiques qu’il est important de noter :

  • Fichier wp-config.php
  • Fichier .htaccess
  • Fichier nginx.conf

Permissions de wp-config.php

Le fichier wp-config.php de votre site est un fichier très sensible qui contient les informations d’identification de la base de données de votre site et un tas d’autres informations importantes.

Un bon point de départ pour le fichier wp-config.php est 644, ce qui est ce que nous utilisons chez Kinsta. Cependant, vous trouverez beaucoup d’autres recommandations ici, y compris 640 et 600. Pour plus de sécurité, certaines personnes utilisent même 444.

Toutefois, si vous utilisez 444, vous risquez de causer des problèmes, car de nombreuses extensions WordPress ont besoin d’un accès en écriture pour le fichier wp-config.php.

Permissions de .htaccess

Le fichier .htaccess de votre site est un autre fichier de configuration essentiel qui mérite une attention particulière.

Un bon point de départ pour les autorisations .htaccess est 644, ce que recommande le Codex de WordPress. Certains développeurs recommandent également 444. Cependant, si vous utilisez 444, cela pourrait restreindre les extensions qui ont besoin d’écrire dans le fichier .htaccess (comme la plupart des extensions de mise en cache).

Note : Si vous êtes hébergé chez Kinsta, vous n’aurez pas de fichier .htaccess car nous utilisons le serveur Nginx pour améliorer les performances. Les fichiers .htaccess ne sont disponibles que sur les serveurs Apache.

Vous n’avez pas à vous soucier des autorisations .htaccess si vous êtes hébergé chez Kinsta, car il n’y a pas de fichier .htaccess.

Permissions de nginx.conf

Les mêmes autorisations du fichier .htaccess s’appliquent également à nginx.conf, qui est le principal fichier de configuration si votre hébergeur utilise un serveur web Nginx (comme Kinsta).

Ici, chez Kinsta, nous utilisons 644 pour ce fichier nginx.conf. Certains développeurs recommandent également 444.

Comment vérifier rapidement les permissions des fichiers WordPress

Si vous voulez un moyen rapide et non technique de vérifier les permissions de fichiers de votre site pour voir si vous avez des problèmes, vous pouvez utiliser l’extension gratuite iThemes Security sur WordPress.org.

Vous pouvez également utiliser le FTP ou le gestionnaire de fichiers de cPanel, que nous vous montrerons dans la prochaine section – nous partageons d’abord cette extension comme un moyen rapide de détecter des problèmes potentiels.

Une fois que vous avez activé l’extension, allez dans Sécurité → Réglages et cliquez sur le bouton Afficher les détails sous Permissions de fichiers :

Emplacement de l'outil de permission des fichiers dans WordPress
Emplacement de l’outil de permission des fichiers dans WordPress

Ici, vous trouverez les permissions actuelles de vos fichiers WordPress et comment elles se comparent aux permissions de fichiers recommandées par iThemes Security. Vous pouvez voir qu’iThemes recommande 444 pour le fichier wp-config.php et le fichier nginx.conf ou .htaccess (Kinsta utilise Nginx, c’est pourquoi vous voyez nginx.conf, mais vous verriez .htaccess si votre hébergeur utilise Apache).

N’oubliez pas, cependant, que 444 peut provoquer des conflits avec certaines extensions, et que vous pouvez donc éviter de l’utiliser.

Une fonction d'iThemes Security dans WordPress comparant les permissions de fichiers existantes avec les paramètres de permissions suggérés.
Une fonction d’iThemes Security dans WordPress comparant les permissions de fichiers existantes avec les réglages suggérés de permissions.

Si vous ne souhaitez pas continuer à utiliser l’extension après la configuration, nous vous recommandons de la supprimer.

Comment modifier les permissions des fichiers WordPress

Maintenant, parlons de la façon dont vous pouvez changer les permissions des fichiers de votre site WordPress, si nécessaire. Il existe plusieurs méthodes différentes que vous pouvez utiliser – nous allons vous montrer trois façons de le faire :

  • FTP
  • Gestionnaire de fichiers de cPanel
  • SSH/Terminal

FTP/SFTP

Si vous savez comment utiliser FTP/SFTP pour vous connecter à votre serveur, tout client FTP de qualité devrait vous permettre de modifier rapidement les permissions de fichiers.

Nous allons vous montrer comment cela fonctionne en utilisant FileZilla, un client populaire gratuit et open source.

Une fois que vous vous êtes connecté à votre serveur à l’aide de SFTP, cliquez avec le bouton droit de la souris sur le fichier/répertoire que vous souhaitez modifier et choisissez Permissions de fichier :

Comment modifier les permissions des fichiers en utilisant le FTP dans FileZilla
Comment modifier les permissions des fichiers en utilisant le FTP dans FileZilla

Ensuite, vous pouvez soit utiliser les cases à cocher, soit saisir directement le nombre :

Comment saisir de nouvelles permissions de fichiers en utilisant FileZilla
Comment saisir de nouvelles permissions de fichiers en utilisant FileZilla

Gestionnaire de fichiers de cPanel

Si votre hébergeur fournit cPanel, vous pouvez utiliser le gestionnaire de fichiers de cPanel pour modifier les permissions des fichiers WordPress.

Dans le gestionnaire de fichiers de cPanel, cliquez avec le bouton droit de la souris sur le fichier ou le répertoire que vous souhaitez modifier et choisissez Modifier les permissions :

Comment modifier les permissionsde fichiers à l'aide du gestionnaire de fichiers de cPanel ?
Comment modifier les permissions de fichiers à l’aide du gestionnaire de fichiers de cPanel ?

Ensuite, cochez les cases correspondantes pour attribuer des permissions. Au fur et à mesure, vous verrez les totaux changer en bas :

Comment saisir de nouvelles permissions de fichiers à l'aide de cPanel ?
Comment saisir de nouvelles permissions de fichiers à l’aide de cPanel ?

Définissez les permissions correctes, et vous êtes prêt !

Ligne de commande

Si vous êtes à l’aise avec la ligne de commande, vous pouvez également modifier les permissions de fichiers de votre site à l’aide de chmod. Nous aimons utiliser cette calculatrice chmod pour obtenir rapidement les permissions appropriées.

Résumé

Des permissions de fichiers WordPress appropriées sont essentielles pour créer un site sécurisé et fonctionnel. Mais vous n’avez pas besoin de vous soucier des permissions de fichiers car la plupart des hébergeurs configurent tout correctement si vous utilisez l’outil d’installation automatique de l’hébergeur. C’est également le cas chez Kinsta.

Cependant, si vous installez WordPress manuellement, ou si quelque chose a perturbé les permissions de fichiers d’origine de votre site, vous devrez peut-être modifier les permissions de fichiers de votre site.

En général, les permissions du répertoire WordPress doivent être à 755, et celles des fichiers WordPress à 644. Parmi les exceptions importantes, citons le fichier wp-config.php de votre site et le fichier .htaccess ou nginx.conf de votre serveur, que vous pouvez rendre légèrement moins permissif.

Et quoi qu’il en soit, veillez à ne jamais définir des permissions de fichiers à 777 sur un site en ligne (même si vous savez ce que vous faites). Si vous le faites, vous exposez votre site et votre serveur à des failles de sécurité colossales.

Vous avez encore des questions sur les permissions des fichiers WordPress ? Posez-les nous dans les commentaires!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.