ALL SYSTEMS OPERATIONALUPTIME 99.97%FLEET 18/18IN-MUM · US-LAX · EU-FSN EST. 2003 · +91 11 4998 4038

SAVOIR LE BAS · FANTASTIQUE

Impossible de modifier via FTP un modèle Joomla installé par Joomla

Dernière mise à jour 2020-04-05

C'est un problème spécifique à, Serveur ne exécutant pas SuExec/phpSuExec. La solution est, s'il vous plaît, de télécharger les fichiers via FTP et ensuite faire une installation manuelle du composant/template Joomla.

Ceci est expliqué à l'adresse suivante: http://forum.joomla.org/index.php/topic,30796.0.html. Un résumé des raisons sont comme sous et nous citons,

" Première sortie... Peu importe si votre utilisateur ou httpd (ou personne, apache, n'importe quel autre utilisateur apache) possède les fichiers de base de Joomla. La propriété du fichier est déterminée lors de la création du fichier. Il est déterminé par l'utilisateur qui possède le processus du système d'exploitation qui crée le fichier dans le système de fichiers.

Scénario : Vous êtes connecté en tant qu'utilisateur et vous créez un nouveau fichier... quelque chose.txt avec votre éditeur de texte préféré (vi par exemple).

Puisque vous exécutez le programme vi pendant que vous êtes connecté (nous supposerons que le nom d'utilisateur sera USER à l'avenir). Donc, l'USER possède le processus vi qui a créé le fichier quelque chose.txt sur le système de fichiers. Cela signifie que le fichier quelque chose.txt sera la propriété de l'USER.

Scénario : Vous téléchargez un fichier ... quelque choseElse.txt en utilisant FTP.

Depuis que vous êtes connecté à FTP en utilisant votre combo utilisateur/pass... le processus FTP sur lequel vous opérez a changé d'utilisateur pour être détenu par l'USER. Par conséquent, lorsque le fichier quelque choseElse.txt est téléchargé (créé) dans le système de fichiers... il sera la propriété du propriétaire du processus qui l'a créé, UTILISATEUR.

Scénario: Vous téléchargez un fichier dans un script php qui l'enregistre encore quelque chose d'Else.txt (pas en utilisant suexec avec php).

Ok, Apache, pour des raisons de sécurité, gère ses processus appartenant à un utilisateur "spécial"... souvent nommé personne, ou apache, ou httpd, ou tout autre nom mignon qu'un sysadmin le nomme dans le fichier conf. Donc dans ce cas, nous dirons que l'utilisateur apache s'appelle httpd. Donc, vous téléchargez votre fichier dans le script php. Php est en cours d'exécution dans un module apache, qui est en cours d'exécution dans le processus apache...... devine qui le possède ? ... c'est bien... utilisateur httpd. A cause de cela... quand php dit... move uploaded file() et enregistre le fichier encore quelque chose d'Else.txt ... il ne sera détenu par personne d'autre que l'utilisateur httpd. Est-ce un bug dans php ? Non, je ne sais pas. C'est un bug dans l'apache ? Non, c'est un bug dans le script php ? Non. C'est juste comment fonctionne la propriété du système de fichiers.

suexec est un système par lequel apache Switches User et EXECute le processus basé sur l'utilisateur qui possède la racine du document pour l'hôte virtuel particulier demandé. (C'est le SUEXEC qui prend ça?) C'est une solution que certains hôtes offrent, et qui permet à tous les fichiers créés/modifiés/etc... par les processus apache d'être la propriété de l'utilisateur approprié.

Vous vous demandez peut-être pourquoi Apache se comporte ainsi. Je vous suggère de vous adresser à toutes ces questions.
http://www.apache.org

En résumé, ce n'est pas un bug dans le système, c'est exactement comment le système est conçu pour fonctionner... cela rend-il votre vie plus facile ? Non, je ne sais pas. Mais c'est l'explication. Il y a plusieurs solutions possibles... l'une d'entre elles étant la couche client FTP que j'ai écrite pour 1.1 iI suppose.

Louis "


← Tous les articles de la base de connaissances

Dites-nous ce qui doit rester debout.

A short conversation with an engineer. No quote-bot, no callback queue. We'll tell you honestly if we're not the right fit.