web-dev-qa-db-fra.com

Comment puis-je rendre mon fichier .htaccess accessible en écriture pour wp-admin?

Mon FAI a changé l'hébergement de mon blog Wordpress et tout a cessé de fonctionner. Il y avait un problème DNS, mais ils l'ont résolu, mais chaque page, à l'exception de la page d'accueil, renvoyait une erreur 404.

Quand j'ai vérifié la page de liens permanents (/wp-admin/options-permalinks.php) dans wp-admin, j'ai vu ce qui suit:

Si votre fichier .htaccess était accessible en écriture, nous pourrions le faire automatiquement, mais ce n’est pas le cas. Ce sont donc les règles mod_rewrite que vous devriez avoir dans votre fichier .htaccess. Cliquez dans le champ et appuyez sur CTRL + a pour tout sélectionner.

L'ajout de la liste (via le gestionnaire de fichiers de mon fournisseur de services Internet) a résolu le problème, mais je me suis posé la question.

Ce que j'aimerais, c'est que le fichier .htaccess puisse être écrit pour wp-admin.

Je sais que le fichier doit pas être accessible en écriture pour tout le monde et que je garderais les autorisations aussi restrictives que possible pour assurer la sécurité, je souhaite simplement me faciliter la vie.

Cependant, je note que les autorisations sur le fichier sont:

rw-r--r--

Alors, quelles autorisations dois-je définir pour rendre le fichier accessible en écriture par wp-admin, mais pas par tout le monde? Ou est-ce que d'autres autorisations sur le serveur doivent être définies?

Je peux apporter des modifications manuellement à l'aide de l'interface du gestionnaire de fichiers du fournisseur de services Internet. Ce n'est donc pas comme si je ne pouvais pas du tout mettre à jour le fichier. C'est juste que ça pourrait devenir une douleur si je devais continuer à faire ça.

2
ChrisF

Version courte: vous ne pouvez pas.

Version longue: Techniquement, cela peut être réalisé, mais ils ne sont probablement pas disponibles en tant qu'utilisateur sur un serveur partagé où vous ne disposez pas des autorisations root et ② même s'ils l'étaient, ils viennent avec des 'pièges' que vous avez vraiment ne veulent pas traiter avec.

Tout d'abord, si vous n'êtes pas l'administrateur sys-admin avec des autorisations root, il est douteux que vous puissiez espérer définir les autorisations nécessaires.

  • Les bits d'autorisation UNIX déterminent si chacun d'entre vous, les membres de votre groupe et tout le monde peuvent lire, écrire et exécuter des fichiers. Compte tenu de cet ensemble d’options et du fait que vous et le serveur Web ne faites probablement pas partie du même groupe, vous ne pouvez pas utiliser ces autorisations pour définir une valeur permettant à vous et à l’utilisateur du serveur Web d’écrire le fichier, mais à d’autres personnes. ne peux pas. Par définition, il vous faudrait changer les permissions du "monde" et ... vous pouvez faire le calcul.

    Au cas où votre compte d'utilisateur et le serveur Web s'exécutent dans le même groupe d'utilisateurs, commencez sérieusement à douter de la sécurité de votre fournisseur de services Web.

    Certains hôtes utilisent une technique légèrement moins délirante, à savoir une interface spéciale permettant de convertir des fichiers et des dossiers spécifiques appartenant au serveur Web. C’est un choix pratique en matière de sécurité qui rend les choses plus faciles pour les gens, mais il est assorti de conditions. Dans tous les cas, vous ne pourrez pas éditer manuellement le fichier sans en changer le propriétaire.

  • Même si un ou plusieurs moyens vous permettent de laisser le logiciel du serveur Web éditer le fichier .htaccess, vous êtes beaucoup mieux à l'aise pas à le reprendre. Dans un environnement d'hébergement partagé, vous devez savoir que d'autres personnes que vous exécutez ÉGALEMENT du code en tant qu'utilisateur du serveur Web. Si votre installation Wordpress est capable de changer votre fichier .htaccess, comment empêcher les wordpress des prochains gars de modifier le vôtre de manière malveillante? Théoriquement, les sessions open_base_dir de PHP l'emprisonneront pour lire et écrire des éléments à l'intérieur de votre DOCUMENT_ROOT, mais bien que le module PHP soit assez efficace pour le faire respecter, il est assez courant que les FAI et les hôtes de petite taille disposent d'autres systèmes CGI qui ne sont pas correctement emprisonnés ou directement des paramètres de serveur mal configurés qui permettent à d'autres utilisateurs du même serveur de jouer avec tout ce que d'autres utilisateurs ont converti pour appartenir au serveur Web.

Le seul moyen technique de vraiment rendre cela possible est avec une configuration d’hôte virtuel qui fonctionne réellement comme vous lorsque vous servez votre site (ce qui présente en fait d’autres risques) ou avec des ACL de système de fichiers - et bien que possible, il est peu probable que votre FAI est équipé pour les configurer correctement.

En résumé, vous êtes mieux sur le plan de la sécurité avec wp-admin qui n'est pas capable d'écrire sur .htaccess. Quoi qu'il en soit, cela devrait être un problème peu fréquent, généralement lors des changements de version de Wordpress ou du logiciel serveur (par exemple, le passage d'Apache 2.2 à la version 2.4 a nécessité la mise à jour de nombreux fichiers .htaccess sur le réseau, mais cela a pris des années ). Ce n'est pas quelque chose qui devrait changer chaque fois que vous mettez à jour votre site, seulement si vous avez apporté une modification architecturale et si vous avez besoin de faciliter la migration d'anciennes URL vers de nouvelles, etc.

0
Caleb

Sur les systèmes de fichiers informatiques, différents fichiers et répertoires ont des autorisations qui spécifient qui et quoi peuvent les lire, écrire, les modifier et y accéder. Ceci est important car WordPress peut nécessiter un accès pour écrire dans les fichiers de votre répertoire wp-content pour activer certaines fonctions.

Mais, il est préférable de garder le fichier .htaccess non inscriptible dans le monde. Le fichier .htaccess est un fichier de configuration distribué. Il s'agit de la façon dont Apache gère les modifications de configuration, répertoire par répertoire.

http://codex.wordpress.org/htaccess

Garder le fichier .htaccess dans le monde en écriture a également des conséquences. Principalement des problèmes de sécurité. L'utilisation des autorisations 777 sur un dossier, voire un fichier, peut avoir des conséquences néfastes: si un pirate informatique ou une entité malveillante est en mesure de télécharger un fichier sournois ou de modifier un fichier actuel pour exécuter du code, ils auront le contrôle total sur votre blog, y compris vos informations de base de données et votre mot de passe.

http://codex.wordpress.org/Changing_File_Permissions

Autorisations par défaut (umask 022)

644 -rw-r--r--  /home/user/wp-config.php
644 -rw-r--r--  /home/user/cgi-bin/.htaccess

Autorisations sécurisées

600 -rw-------  /home/user/wp-config.php
604 -rw----r--  /home/user/cgi-bin/.htaccess

.htaccess permissions

644> 604 - Le bit permettant au propriétaire du groupe de lire le fichier .htaccess a été supprimé. 644 est normalement requis et recommandé pour les fichiers .htaccess.

0
Abhineet Verma