KENNTNISSE
Kann nicht über FTP eine Joomla-Vorlage ändern, die von Joomla installiert wurde
Zuletzt aktualisiert 2020-04-05
Dies ist ein Problem, das spezifisch für Server ist, der SuExec/phpSuExec nicht ausführt. Die Lösung ist, laden Sie die Dateien bitte per FTP hoch und führen Sie dann eine manuelle Installation der Joomla-Komponente / Vorlage durch.
Dies wird erklärt unter http://forum.joomla.org/index.php/topic,30796.0.htmlEine Zusammenfassung der Gründe lautet wie folgt, und wir zitieren:
" Zuerst einmal ... Es spielt keine Rolle, ob Ihr Benutzer oder httpd (oder niemand, apache, was auch immer apache-Benutzer ist) die Joomla-Kerndateien besitzt. Der Dateibesitz wird bei der Erstellung der Datei festgelegt. Es wird vom Benutzer bestimmt, der den Betriebssystemprozess besitzt, der die Datei im Dateisystem erstellt.
Szenario: Sie sind als Benutzer angemeldet und erstellen eine neue Datei ... something.txt mit Ihrem Lieblingstexteditor (vi zum Beispiel).
Da Sie das vi-Programm ausführen, während Sie eingeloggt sind, wie Sie (wir gehen davon aus, dass der Benutzername BENUTZER sein wird). Also, USER besitzt den vi-Prozess, der die Datei something.txt auf dem Dateisystem erstellt hat. Dies bedeutet, dass die Datei something.txt dem NUTZER gehört.
Szenario: Sie laden eine Datei hoch ... somethingElse.txt mit FTP.
Da Sie mit Ihrer Benutzer-/Pass-Kombination bei FTP angemeldet sind, hat der FTP-Prozess, mit dem Sie arbeiten, den Benutzer in den Besitz des BENUTZERS versetzt. Wenn die Datei somethingElse.txt in das Dateisystem hochgeladen (erstellt) wird, gehört sie daher dem Eigentümer des Prozesses, der sie erstellt hat, dem BENUTZER.
Szenario: Sie laden eine Datei in ein PHP-Skript hoch, das sie noch speichertSomethingElse.txt (nicht mit suexec mit PHP).
Ok, Apache, aus Sicherheitsgründen, führt seine Prozesse von einem "speziellen" Benutzer ... oft benannt niemand, oder Apache, oder httpd oder jeder andere nette Name, den ein Sysadmin nennt es In der Conf-Datei. In diesem Fall sagen wir also, dass der Apache-Benutzer httpd heißt. Also, laden Sie Ihre Datei in das PHP-Skript hoch. Php läuft in einem Apache-Modul, das im Apache-Prozess läuft ...... raten Sie mal, wem es gehört? ... das ist richtig ... Benutzer httpd. Aus diesem Grund ... wenn php sagt ... move uploaded file() und speichert die Datei yetSomethingElse.txt ... es wird von keinem anderen als dem Benutzer httpd gehören. Ist das ein Bug in PHP? Nein. Ist es ein Bug in Apache? Ist es ein Bug im PHP-Skript? Es ist nur, wie der Dateisystembesitz funktioniert.
suexec ist ein System, mit dem apache den Benutzer wechselt und den Prozess ausführt, basierend auf dem Benutzer, der die Dokumentwurzel für den angeforderten virtuellen Host besitzt. (Erwischen Sie die SUEXEC in diesem?) Dies ist eine Lösung, die einige Hosts anbieten und ermöglicht es, dass alle Dateien, die von den Apache-Prozessen erstellt / geändert / etc. erstellt wurden, dem richtigen Benutzer gehören.
Vielleicht fragen Sie sich, warum Apache sich so verhält ... Ich würde vorschlagen, dass all diese Fragen an http://www.apache.org
Zusammenfassend ist dies kein Fehler im System, es ist genau so, wie das System funktioniert ... macht das Ihr Leben einfacher? Nein. Aber es ist die Erklärung. Es gibt mehrere mögliche Workarounds ... einer davon ist die FTP-Clientschicht, die ich für 1.1 iI geschrieben habe.
Louis
Dies wird erklärt unter http://forum.joomla.org/index.php/topic,30796.0.htmlEine Zusammenfassung der Gründe lautet wie folgt, und wir zitieren:
" Zuerst einmal ... Es spielt keine Rolle, ob Ihr Benutzer oder httpd (oder niemand, apache, was auch immer apache-Benutzer ist) die Joomla-Kerndateien besitzt. Der Dateibesitz wird bei der Erstellung der Datei festgelegt. Es wird vom Benutzer bestimmt, der den Betriebssystemprozess besitzt, der die Datei im Dateisystem erstellt.
Szenario: Sie sind als Benutzer angemeldet und erstellen eine neue Datei ... something.txt mit Ihrem Lieblingstexteditor (vi zum Beispiel).
Da Sie das vi-Programm ausführen, während Sie eingeloggt sind, wie Sie (wir gehen davon aus, dass der Benutzername BENUTZER sein wird). Also, USER besitzt den vi-Prozess, der die Datei something.txt auf dem Dateisystem erstellt hat. Dies bedeutet, dass die Datei something.txt dem NUTZER gehört.
Szenario: Sie laden eine Datei hoch ... somethingElse.txt mit FTP.
Da Sie mit Ihrer Benutzer-/Pass-Kombination bei FTP angemeldet sind, hat der FTP-Prozess, mit dem Sie arbeiten, den Benutzer in den Besitz des BENUTZERS versetzt. Wenn die Datei somethingElse.txt in das Dateisystem hochgeladen (erstellt) wird, gehört sie daher dem Eigentümer des Prozesses, der sie erstellt hat, dem BENUTZER.
Szenario: Sie laden eine Datei in ein PHP-Skript hoch, das sie noch speichertSomethingElse.txt (nicht mit suexec mit PHP).
Ok, Apache, aus Sicherheitsgründen, führt seine Prozesse von einem "speziellen" Benutzer ... oft benannt niemand, oder Apache, oder httpd oder jeder andere nette Name, den ein Sysadmin nennt es In der Conf-Datei. In diesem Fall sagen wir also, dass der Apache-Benutzer httpd heißt. Also, laden Sie Ihre Datei in das PHP-Skript hoch. Php läuft in einem Apache-Modul, das im Apache-Prozess läuft ...... raten Sie mal, wem es gehört? ... das ist richtig ... Benutzer httpd. Aus diesem Grund ... wenn php sagt ... move uploaded file() und speichert die Datei yetSomethingElse.txt ... es wird von keinem anderen als dem Benutzer httpd gehören. Ist das ein Bug in PHP? Nein. Ist es ein Bug in Apache? Ist es ein Bug im PHP-Skript? Es ist nur, wie der Dateisystembesitz funktioniert.
suexec ist ein System, mit dem apache den Benutzer wechselt und den Prozess ausführt, basierend auf dem Benutzer, der die Dokumentwurzel für den angeforderten virtuellen Host besitzt. (Erwischen Sie die SUEXEC in diesem?) Dies ist eine Lösung, die einige Hosts anbieten und ermöglicht es, dass alle Dateien, die von den Apache-Prozessen erstellt / geändert / etc. erstellt wurden, dem richtigen Benutzer gehören.
Vielleicht fragen Sie sich, warum Apache sich so verhält ... Ich würde vorschlagen, dass all diese Fragen an http://www.apache.org
Zusammenfassend ist dies kein Fehler im System, es ist genau so, wie das System funktioniert ... macht das Ihr Leben einfacher? Nein. Aber es ist die Erklärung. Es gibt mehrere mögliche Workarounds ... einer davon ist die FTP-Clientschicht, die ich für 1.1 iI geschrieben habe.
Louis
Sagen Sie uns, was aufbleiben muss.
A short conversation with an engineer. No quote-bot, no callback queue. We'll tell you honestly if we're not the right fit.