Il existe quelques causes potentielles de problèmes d'autorisation de fichiers et de dossiers sur l'hébergement Linux.
1. Autorisations de fichiers et de dossiers
Vérifiez que les autorisations sur les dossiers sont définies sur 0755 et que les autorisations sur les fichiers sont définies sur 0644. Notez que les autorisations sur les fichiers et les dossiers peuvent être réinitialisées sur ces paramètres sécurisés standard à l'échelle du site à l'aide de la version gratuite ou payante d'Akeeba Admin Tools.
2. Paramètres PHP
Vérifiez que le paramètre upload_max_filesize dans l'onglet Informations PHP dans les informations système est suffisant. Vous pouvez souvent remplacer le paramètre par défaut dans un environnement d'hébergement partagé via les paramètres PHP dans cPanel ou un php.ini
fichier personnalisé .
3. Chemins d'accès incorrects dans configuration.php
Vous pouvez avoir des chemins incorrects spécifiés pour les dossiers tmp et logs. Ceux-ci sont spécifiés dans la configuration du système ou peuvent être mis à jour directement dans le fichier configuration.php si vous êtes à l'aise pour éditer directement les fichiers système. Si vous n'êtes pas sûr du chemin d'accès, créez et téléchargez un fichier whereami.php
(ou similaire) dans le dossier racine de votre site Web avec le contenu suivant:
<?php
print 'Current folder is ' . dirname(__FILE__);
?>
Naviguez pour [mywebsite].com/whereami.php
voir le chemin d'accès au dossier racine.
Une fois que vous avez le bon chemin, n'oubliez pas de supprimer le whereami.php
fichier.
4. Gestionnaire de fichiers PHP inapproprié
Votre hébergement Web peut être configuré avec le gestionnaire de fichiers PHP par défaut, mais devrait idéalement utiliser suPHP ou FastCGI ou similaire pour que Joomla puisse télécharger et exécuter des fichiers en utilisant des autorisations de fichiers sécurisées.
Vous pouvez voir à quel gestionnaire PHP est utilisé System -> System Information -> WebServer to PHP Interface
.
Il y a un bon article sur les mérites relatifs des gestionnaires de fichiers PHP à: http://boomshadow.net/tech/php-handlers
Dans un environnement d'hébergement partagé, vous n'avez généralement pas accès au changement du gestionnaire de fichiers PHP activé, mais votre hébergeur peut être en mesure de le changer pour vous.
Parfois, en tant que solution de contournement, les autorisations de fichiers et de dossiers sont modifiées en 0777, mais cela met votre site Web dans un état vulnérable et les autorisations de fichiers 0777 doivent généralement être évitées.
Si votre société d'hébergement Web ne peut pas activer suPHP ou FastCGI, la seule autre option pourrait être de trouver une nouvelle société d'hébergement Web.
5. Espace disque
Vérifiez que vous n'avez pas dépassé votre quota d'espace disque.
LISTE DE CONTRÔLE DE DÉPANNAGE
Quelles sont les meilleures pratiques recommandées pour définir les autorisations et les propriétaires dans Joomla sur les systèmes Linux?
Voir 1 et 4.
Impossible de transférer des fichiers vers le serveur à l'aide de programmes tels que WinSCP.
Voir 1, 2, éventuellement 4 et 5.
Ne pas pouvoir installer les extensions Joomla, les plugins, etc.
Voir 1, 2, 3, 4 et 5.
Fichiers et dossiers non sécurisés en raison d'autorisations et de paramètres de propriété dangereux.
Voir 1 et 4.
Veuillez vérifier les niveaux d'autorisation, il devrait être respectivement 644 et 755 pour les fichiers et les dossiers.
Plusieurs fois, les niveaux d'autorisation sont très bien, même lorsque certains problèmes sont rencontrés. Cela signifie que vous devrez vérifier la propriété et le groupe des fichiers et dossiers spécifiques . Normalement, le groupe et la propriété peuvent être modifiés en www-data pour apache (utilisé dans les serveurs Web basés sur Ubuntu).
N'hésitez pas à consulter ce document Joomla intéressant basé sur la vérification des autorisations de fichier.
la source
Une solution simple pour moi est de laisser souvent PHP s'exécuter en mode (Fast-) CGI et de définir la propriété du répertoire Joomla pour l'utilisateur FTP. Ainsi, vous pourrez télécharger et écraser des fichiers via FTP et Joomla pourra également écrire des fichiers.
Une façon de le faire sur un environnement d'hébergement partagé (si cela est autorisé), consiste à ajouter quelque chose comme ça à votre fichier .htaccess:
Voir également un aperçu des différents modes .
la source
Les autorisations doivent être 644 et 755 comme expliqué par Shyam.
Dans Joomla, vous pouvez éviter tous les problèmes que vous avez mentionnés, avec les méthodes suivantes.
Impossible de transférer des fichiers vers le serveur à l'aide de programmes tels que WinSCP.
configuration.php
a cette autorisation, elle ne l'autorise pas par défaut (pour des raisons de sécurité).Ne pas pouvoir installer les extensions Joomla, les plugins, etc.
Cela se produira en raison d'une
temp/log
mauvaise autorisation de dossier. (Il fallait 755)Ou une autre raison est que le
temp/log
chemin est erronéconfiguration.php
Fichiers et dossiers non sécurisés en raison d'autorisations et de paramètres de propriété dangereux.
J'espère que ça aide ..
la source
Les autorisations doivent être 644 et 755 comme expliqué par Shyam.
Les problèmes que vous rencontrez sont probablement liés à la configuration de votre serveur. La plupart du temps, cela se produit sur des hôtes partagés où Apache s'exécute sous un autre utilisateur que votre compte FTP. Comme vous téléchargez habituellement Joomla via FTP, Apache n'est pas le propriétaire du fichier et n'a donc pas les autorisations nécessaires pour le modifier.
Il existe un mode FTP dans Joomla qui vous permet de contourner ce problème. Vous pouvez l'activer dans la configuration globale de Joomla. Il fera ensuite tout l'accès aux fichiers en utilisant l'utilisateur FTP au lieu de l'utilisateur Apache normal.
Une meilleure façon est cependant de demander à votre hôte de résoudre le problème. Ils peuvent configurer PHP (Apache) pour s'exécuter sous un utilisateur spécial, qui dans ce cas devrait être votre utilisateur FTP. Ensuite, tout fonctionnera bien.
la source
Oui, les autorisations doivent être 644 et 755 comme expliqué par Shyam , mais les autres affiches oublient de mentionner que c'est le cas si le fichier appartient à votre serveur Web et que le groupe est le groupe auquel vous appartenez.
Par exemple, dans FileZilla, vous verrez des autorisations comme ceci:
Les autorisations drwxr-xr-x sont 755 (ignorez simplement le dr principal pour qu'il soit wxr-xr-x). Les autorisations de lecture valent 4, les autorisations d'écriture valent 2 et les autorisations d'exécution valent 1 .. donc les avoir toutes jusqu'à 7, et c'est ce que possède le propriétaire de ce fichier. Le groupe a des autorisations de lecture et d'exécution mais pas d'écriture, il en a donc 5, et tout le monde en a également 5 .. ce qui rend les autorisations 755.
754 seraient des propriétaires ayant lu, écrit, exécuté. Groupe ayant lu et exécuté, et tout le monde ayant seulement des autorisations de lecture.
Dans l'exemple ci-dessus, vous pouvez voir que le propriétaire du fichier est www-data (qui est le groupe de serveurs Web par défaut pour de nombreux serveurs Apache) et que le groupe est le groupe myGroup, qui est le groupe (admins) auquel j'appartiens.
Le premier nombre correspond aux autorisations des propriétaires, le second aux autorisations des groupes et le troisième aux autorisations de tous. De toute évidence, vous devez faire attention à donner au serveur Web les autorisations dont il a besoin ... et vous assurer que les fichiers qui doivent être verrouillés ne peuvent pas être écrits ou exécutés par n'importe qui (le troisième numéro). Voici ce que signifient les chiffres:
En supposant que le serveur Web possède les fichiers, votre administrateur est dans le groupe et, bien sûr, tout le monde est le troisième numéro.
644: Les fichiers dont les autorisations sont définies sur 644 sont lisibles par tout le monde et accessibles en écriture uniquement par le propriétaire du fichier / dossier.
755: Les fichiers dont les autorisations sont définies sur 755 sont lisibles et exécutables par tous, mais uniquement accessibles en écriture par le propriétaire du fichier / dossier.
777: les fichiers dont les autorisations sont définies sur 777 sont lisibles, inscriptibles et exécutables par tous. N'utilisez pas cet ensemble d'autorisations, pour des raisons de sécurité, sur votre serveur Web, sauf en cas d'absolue nécessité, et uniquement temporairement. C'est un désastre qui attend de se produire, surtout si un répertoire a ces autorisations .. cela signifie que n'importe qui peut télécharger des fichiers et les exécuter.
Voici les commandes Linux pour configurer Joomla! autorisations recommandées à partir de la ligne de commande. Autorisations de fichier Joomla recommandées
NOTE - beaucoup de gens vous montreront ces commandes sans le chemin, mais je préfère TOUJOURS utiliser le chemin complet, car si vous oubliez de changer de répertoire à la racine Joomla! répertoire d'installation et les exécuter sans le chemin d'accès, vous venez de modifier les autorisations pour chaque fichier et répertoire dans ce répertoire supérieur, et créé un énorme gâchis.
Après avoir exécuté ces commandes, vous devrez corriger les autorisations pour tous les répertoires qui ont besoin de plus d'autorisations ... par exemple ... les utilisateurs qui téléchargent des images, etc.
SI VOUS N'UTILISEZ QUE LE JOOMLA! et vous n'avez pas d'administrateur ou d'accès FTP au serveur, alors UTILISEZ LA PROPRIÉTÉ et les AUTORISATIONS CI-DESSUS.
ARRÊTEZ ICI SI VOUS ÊTES UN NOVICE .. ce qui suit est uniquement pour les personnes qui comprennent vraiment ce que les autorisations et la propriété font.
Cependant, je trouve que la propriété et les autorisations sont très peu pratiques car j'aime utiliser FileZilla et une ligne de commande de session Terminal Server la plupart du temps, et je télécharge beaucoup de fichiers manuellement. Mais je ne peux pas écraser de fichiers car je ne les possède pas et je n'ai pas l'autorisation d'écrire. Je pourrais demander à FileZilla de se connecter sous le compte du serveur Web, MAIS ... Je veux que FileZilla se connecte sous mon compte, afin que je puisse également parcourir d'autres répertoires, pas seulement les fichiers auxquels le serveur Web a accès ... SO ... Je change la propriété et les autorisations en ceci:
Je me fais propriétaire et je mets le serveur Web dans le groupe ... et je change les autorisations pour les répertoires en 775 et pour les fichiers en 664. Cela me facilite beaucoup la vie ... mais je ne le recommande pas pour toutes les personnes.
Si vous le faites à ma façon, voici les commandes:
la source
Les autres réponses fournissent une bonne explication de ce qui devrait être fait, je veux seulement ajouter un script pour corriger les autorisations si vous avez déjà téléchargé un composant et ne pouvez pas accéder aux fichiers avec ftp.
Dans ce cas, je téléchargerais ce fichier
fix.php
sur le serveur FTP et l'ouvrirais dans le navigateur:http://example.com/fix.php
Ce script définit toutes les autorisations du fichier sur 666 et tous les répertoires sur 777. World Writable n'est pas le meilleur ensemble d'autorisations pour un hôte partagé, mais vous pourrez à nouveau accéder à vos fichiers et le définir ensuite avec les valeurs correctes avec FTP.
la source
Tard à la fête. Je suis venu ici à la recherche ainsi que d'autres endroits pour un guide définitif sur les dossiers qui doivent être accessibles en écriture pour Joomla.
Désolé, d'être le signe avant-coureur de mauvaises nouvelles.
Le conseil d'utiliser les autorisations 755 pour tous les répertoires et 644 pour tous les dossiers est à tout le moins irresponsable .
Rendre tous les dossiers et fichiers du propriétaire accessibles en écriture est correct tant que le propriétaire n'est pas le serveur Web (apache et al).
Je sais que cette pratique est courante mais je peux vous assurer que ce n'est pas une bonne pratique. Le dernier logiciel que vous souhaitez donner la possibilité d'écrire dans des dossiers est le serveur Web lui-même. C'est le serveur Web utilisé par les pirates pour tirer parti de cet exploit qui n'a pas encore été corrigé (ou même trouvé).
Pensez-vous que .htaccess sauvera votre Kevin? Oubliez cela car vous avez autorisé le serveur Web à accéder en écriture, nos chers amis hackers peuvent créer leurs propres fichiers .htaccess en leur accordant les autorisations qu'ils souhaitent! comme Oh je ne sais pas Umm faire des fichiers .jpg exécutables par le serveur. Et vous pensiez que la protection contre l'exécution .php allait couvrir votre A.
Mais assurez-vous que seuls les dossiers nécessitant un accès en écriture l'ont. 755 et 644 pour les dossiers suivants.
Et assurez-vous de désactiver les fichiers .htaccess avec AllowOveride none pour tous les dossiers inscriptibles (comme ceux ci-dessus)
Pour ceux d'entre vous sur l'hébergement mutualisé, bonne chance car il s'agit d'un élément de configuration que vous ne pouvez pas contrôler.
Ne pensez pas que la lecture du fichier .htaccess en lecture seule sera utile. Si nos amis pirates peuvent créer un nouveau dossier (ils le peuvent), ils peuvent créer leur propre .htaccess.
Pour ceux d'entre vous qui exécutent un hébergement partagé pour tout ce qui est sacré, veuillez obtenir un indice sur la sécurité.
Si vous ne comprenez pas la sécurité, veuillez vous retirer de l'hébergement que vous rendez difficile pour le reste d'entre nous.
Maintenant, revenons à ma recherche du guide définitif sur les dossiers nécessitant un accès en écriture ...
la source