Sur les systèmes de fichiers informatiques, différents fichiers et répertoires possèdent des autorisations qui spécifient qui peut lire, écrire, modifier et accéder aux fichiers. Ceci est important car WordPress peut avoir besoin d’écrire des fichiers dans votre répertoire de contenu wp pour activer certaines fonctions. Alors, comment modifier les permissions chmod sans faire d’erreurs?

Permissions chmod

permissions chmod

Le mode d’autorisation est calculé en additionnant les valeurs pour l’utilisateur, le groupe de fichiers et le reste.

  • Lire = 4 (Autorisé à lire les fichiers)
  • Ecrire = 2 (Autorisé à écrire / modifier des fichiers)
  • Exécuter = 1 (Lire / écrire / suprimer / modifier)

permissions chmod

Schéma de permission chmod pour WordPress

Les autorisations peuvent être différentes d’un hébergeur Web à un autre. Cet article ne fait référence qu’aux principes généraux. Il ne peut pas couvrir tous les cas. Ce guide s’applique aux serveurs exécutant une configuration standard.

En règle générale, tous les fichiers devraient appartenir à votre compte utilisateur (ftp) sur votre serveur Web. Ils devraient être écrits par ce compte. Sur les hôtes partagés, les fichiers ne doivent jamais appartenir au processus du serveur Web lui-même.

Les groupes d’utilisateurs chmod

Tout fichier nécessitant un accès en écriture à partir de WordPress doivent être détenu ou appartenir à un groupe par le compte utilisateur utilisé par WordPress (qui lui, peut être différent du compte serveur). Par exemple, vous pouvez avoir un compte utilisateur WordPress qui vous permet de transférer des fichiers FTP vers votre serveur, mais votre serveur peut s’exécuter à l’aide d’un utilisateur distinct, dans un groupe d’utilisateurs distinct, tel que apache ou nobody. Si WordPress est en cours d’exécution en tant que compte FTP, ce compte doit avoir un accès en écriture. Cela veut dire que le propriétaire des fichiers doit appartenir à un groupe ayant un accès en écriture. Dans ce dernier cas, cela signifie que les autorisations sont définies plus permissivement que par défaut (par exemple, 775 plutôt que 755 pour les dossiers et 664 au lieu de 644).

Les autorisations de fichiers et de dossiers de WordPress devraient être les mêmes pour la plupart des utilisateurs, en fonction du type d’installation que vous avez effectué et des paramètres umask de votre environnement système au moment de l’installation.

En règle générale, tous les fichiers WordPress principaux ne doivent être écrits que par votre compte utilisateur (ou le compte httpd, si différent). Si vous utilisez Mod_rewrite Permalien ou d’autres fonctionnalités .htaccess, vous devez vous assurer que WordPress peut également écrire sur votre fichier /.htaccess.

Certains plugins exigent que le dossier « wp-content » puisse être écrit, mais dans de tels cas, ils vous le feront savoir lors de l’installation. Dans certains cas, cela peut nécessiter l’attribution du chmod 755 comme autorisation. Il en va de même pour les répertoires « uploads » et « cache » se trouvant dans le dossier « wp-content ».

Hébergement partagé avec suexec

Ce qui précède ne s’applique pas aux systèmes d’hébergement partagés qui utilisent l’approche « suexec » pour l’exécution des fichiers binaires PHP. C’est une approche populaire utilisée par de nombreux hébergeurs. Pour ces systèmes, le processus php s’exécute en tant que propriétaire des fichiers php eux-mêmes. Cela permet une configuration plus simple et un environnement plus sécurisé pour le cas particulier de l’hébergement partagé.

  • Tous les fichiers doivent appartenir au compte de l’utilisateur actuel, et non au compte utilisateur utilisé pour le processus httpd.
  • La propriété du groupe n’est pas pertinente, à moins qu’il n’existe des exigences de groupe spécifiques pour la vérification des autorisations de processus du serveur Web.
  • Tous les répertoires devraient être de 755 ou 750.
  • Tous les fichiers doivent être 644 ou 640. Exception: wp-config.php devrait être 440 ou 400 pour empêcher d’autres utilisateurs sur le serveur de le lire.
  • Aucun répertoire ne doit être en mode 777.
  • Puisque le processus php est en cours d’exécution en tant que propriétaire des fichiers, il obtient les autorisations des propriétaires et peut écrire sur un répertoire 755.

Dans cette configuration de type spécifique, WordPress détecte qu’il peut créer directement des fichiers avec la propriété appropriée. Il ne demandera pas d’informations d’identification FTP lors de la mise à niveau ou de l’installation de plugins.

Utilisation d’un client FTP

Les programmes FTP («clients») vous permettent de définir des autorisations pour les fichiers et les répertoires de votre hôte distant. Cette fonction est souvent appelée permissions chmod.

Dans une installation WordPress, deux fichiers que vous voudrez probablement modifier sont la page d’index et le css qui contrôle la mise en page. Voici comment vous modifiez index.php – le processus est le même pour tout fichier.

Dans la capture d’écran ci-dessous, regardez la dernière colonne – qui montre les autorisations. Cela semble un peu déroutant, mais pour l’instant, notez simplement la séquence des lettres.

permissions chmod

Autorisations initiales
Cliquez avec le bouton droit sur ‘index.php’ et sélectionnez ‘Autorisations de fichier’
Un écran popup apparaîtra.

permissions chmod

Ne vous inquiétez pas des cases à cocher. Il suffit de supprimer la «Valeur numérique:» et entrez le numéro dont vous avez besoin – dans ce cas c’est 666. Ensuite, cliquez sur OK.

permissions chmod

Vous pouvez maintenant voir que les autorisations du fichier ont été modifiées.

Afficher les fichiers cachés

Par défaut, la plupart des clients FTP, y compris FileZilla, gardent les fichiers cachés. Mais, à un moment donné, vous devrez peut-être voir vos fichiers cachés afin de pouvoir modifier les autorisations de ces fichiers. Par exemple, vous devrez peut-être créer votre fichier .htaccess, le fichier qui contrôle les permaliens.

Pour afficher des fichiers cachés dans FileZilla, il est nécessaire de sélectionner ‘Afficher’ dans le menu principal, puis sélectionnez ‘Afficher les fichiers cachés’. L’affichage de l’écran des fichiers sera actualisé et tout fichier précédemment caché devrait être visualisé.

Dans la dernière version de Filezilla, l’option ‘Afficher les fichiers cachés’ a été déplacée vers l’onglet « Serveur ».

Les dangers du chmod 777

L’essentiel de ce problème d’autorisation est la façon dont votre serveur est configuré. Le nom d’utilisateur que vous utilisez sur FTP ou SSH dans votre serveur n’est probablement pas le nom d’utilisateur utilisé par la propre application serveur pour servir les pages.

Souvent, le serveur Apache est «détenu» par les comptes utilisateur www-data, apache ou nobody. Ces comptes ont une quantité limitée d’accès aux fichiers sur le serveur, pour une très bonne raison. En définissant vos fichiers personnels et les dossiers appartenant à votre compte d’utilisateur pour être en 777, vous donnez la possibilité d’écrire et de modifier les fichiers par tout le monde.

Cela permet à quelqu’un d’accéder à vos fichiers en détournant tout processus sur votre serveur. Vous devriez donc réfléchir sérieusement à la modification des autorisations sur votre machine. Je n’ai jamais rencontré quoi que ce soit qui nécessitait plus de 767. De ce fait, lorsque vous voyez 777, demandez vous si cela est nécessaire.

Conclusion

Le pire qui peut se produire avec l’utilisation du chmod 777 sur un dossier ou un fichier, c’est qu’une entité malveillante sera capable de télécharger un fichier ou le modifier et exécuter le code sur votre machine. Dans ce cas, ils auront un contrôle total sur votre blog, y compris sur la base de donnée et vos mots de passe.