Es gibt einige mögliche Ursachen für Probleme mit Datei- und Ordnerberechtigungen beim Linux-Hosting.
1. Datei- und Ordnerberechtigungen
Die Einstellungen für die Ordnerprüfung sind auf 0755 und die Dateiberechtigungen auf 0644 festgelegt. Beachten Sie, dass die Datei- und Ordnerberechtigungen mit der kostenlosen oder kostenpflichtigen Version der Akeeba Admin Tools auf Site-weiter Basis auf diese sicheren Standardeinstellungen zurückgesetzt werden können.
2. PHP-Parameter
Überprüfen Sie, ob der Parameter upload_max_filesize auf der Registerkarte PHP-Informationen in den Systeminformationen ausreichend ist. Sie können die Standardeinstellung in einer gemeinsam genutzten Hosting-Umgebung häufig über die PHP-Einstellungen in cPanel oder eine benutzerdefinierte php.ini
Datei überschreiben .
3. Falsche Pfade in configuration.php
Möglicherweise wurden falsche Pfade für die Ordner tmp und logs angegeben. Diese sind in der Systemkonfiguration angegeben oder können direkt in der Datei configuration.php aktualisiert werden, wenn Sie Systemdateien direkt bearbeiten möchten. Wenn Sie sich nicht sicher sind, wie der Pfad lauten soll, erstellen Sie eine Datei whereami.php
(oder ähnliches) mit folgendem Inhalt und laden Sie sie in den Stammordner Ihrer Website hoch:
<?php
print 'Current folder is ' . dirname(__FILE__);
?>
Navigieren Sie zu [mywebsite].com/whereami.php
, um den Pfad zum Stammordner anzuzeigen.
Denken Sie daran, die whereami.php
Datei zu löschen, sobald Sie den richtigen Pfad angegeben haben .
4. Ungeeigneter PHP File Handler
Ihr Webhosting kann mit dem standardmäßigen PHP-Datei-Handler konfiguriert werden, sollte jedoch idealerweise suPHP oder FastCGI oder ähnliches verwenden, damit Joomla Dateien mit sicheren Dateiberechtigungen hochladen und ausführen kann.
Sie können sehen, welcher PHP-Handler verwendet wird System -> System Information -> WebServer to PHP Interface
.
Es gibt einen guten Artikel über die relativen Vorzüge von PHP-Datei-Handlern unter: http://boomshadow.net/tech/php-handlers
In einer Shared-Hosting-Umgebung können Sie normalerweise nicht ändern, welcher PHP-Datei-Handler aktiviert ist, aber Ihr Webhosting-Unternehmen kann dies möglicherweise für Sie ändern.
Manchmal werden Datei- und Ordnerberechtigungen als Abhilfemaßnahme in 0777 geändert, aber dies versetzt Ihre Website in einen anfälligen Zustand und 0777-Dateiberechtigungen sollten im Allgemeinen vermieden werden.
Wenn Ihr Webhosting-Unternehmen suPHP oder FastCGI nicht aktivieren kann, besteht die einzige andere Möglichkeit darin, ein neues Webhosting-Unternehmen zu finden.
5. Speicherplatz
Stellen Sie sicher, dass Sie Ihr Speicherplatzkontingent nicht überschritten haben.
FEHLERSUCHE-CHECKLISTE
Was sind die empfohlenen Best Practices zum Festlegen von Berechtigungen und Eigentümern in Joomla auf Linux-Systemen?
Siehe 1 und 4.
Dateien können nicht mit Programmen wie WinSCP auf den Server übertragen werden.
Siehe 1, 2, möglicherweise 4 und 5.
Joomla-Erweiterungen, Plugins usw. können nicht installiert werden.
Siehe 1, 2, 3, 4 und 5.
Unsichere Dateien und Ordner aufgrund gefährlicher Berechtigungen und Besitzereinstellungen.
Siehe 1 und 4.
Bitte überprüfen Sie die Berechtigungsstufen, sie sollten für Dateien und Ordner 644 bzw. 755 sein.
Oft sind die Berechtigungsstufen in Ordnung, auch wenn einige Probleme auftreten. Dies bedeutet, dass Sie den Besitz und die Gruppe der spezifischen Dateien und Ordner überprüfen müssen . Normalerweise können die Gruppe und der Eigentümer in www-Daten für Apache geändert werden (verwendet in Ubuntu-basierten Webservern).
Schauen Sie sich dieses interessante Joomla-Dokument an, indem Sie die Dateiberechtigungen überprüfen.
quelle
Eine einfache Lösung für mich ist es, PHP häufig im (Fast-) CGI-Modus laufen zu lassen und den Besitz des Joomla-Verzeichnisses auf den FTP-Benutzer festzulegen. So können Sie Dateien über FTP hochladen und überschreiben und Joomla kann auch Dateien schreiben.
Eine Möglichkeit, dies in einer gemeinsam genutzten Hosting-Umgebung zu tun (sofern dies zulässig ist), besteht darin, Ihrer .htaccess-Datei Folgendes hinzuzufügen:
Sehen Sie sich auch eine Übersicht über die verschiedenen Modi an .
quelle
Die Berechtigungen sollten 644 und 755 laut Shyam sein.
In Joomla können Sie alle genannten Probleme mit den folgenden Methoden vermeiden.
Dateien können nicht mit Programmen wie WinSCP auf den Server übertragen werden.
configuration.php
diese Erlaubnis standardmäßig nicht erlaubt hat (aus Sicherheitsgründen).Joomla-Erweiterungen, Plugins usw. können nicht installiert werden.
Dies wird aufgrund einer
temp/log
falschen Ordner-Berechtigung geschehen . (Erforderlich sind 755)Oder ein anderer Grund ist, dass der
temp/log
Pfad falsch istconfiguration.php
Unsichere Dateien und Ordner aufgrund gefährlicher Berechtigungen und Besitzereinstellungen.
Hoffe, es hilft ..
quelle
Die Berechtigungen sollten 644 und 755 laut Shyam sein.
Die Probleme, mit denen Sie konfrontiert sind, hängen höchstwahrscheinlich mit der Art und Weise zusammen, wie Ihr Server eingerichtet ist. Meistens geschieht dies auf gemeinsam genutzten Hosts, auf denen Apache unter einem anderen Benutzer als Ihrem FTP-Konto ausgeführt wird. Da Sie Joomla normalerweise über FTP hochladen, ist Apache nicht der Eigentümer der Datei und verfügt daher nicht über die erforderlichen Berechtigungen, um sie zu ändern.
Es gibt einen FTP-Modus in Joomla, mit dem Sie dieses Problem umgehen können. Sie können es in der globalen Konfiguration von Joomla aktivieren. Der gesamte Dateizugriff erfolgt dann über den FTP-Benutzer anstelle des regulären Apache-Benutzers.
Besser ist es jedoch, den Host zu bitten, das Problem zu beheben. Sie können PHP (Apache) so einrichten, dass es unter einem bestimmten Benutzer ausgeführt wird, der in diesem Fall Ihr FTP-Benutzer sein sollte. Dann wird alles gut funktionieren.
quelle
Ja, die Berechtigungen sollten 644 und 755 sein, wie von Shyam erklärt , aber die anderen Poster vergessen zu erwähnen, dass dies der Fall ist, wenn die Datei Ihrem Webserver gehört und die Gruppe die Gruppe ist, der Sie angehören.
In FileZilla sehen Sie beispielsweise die folgenden Berechtigungen:
Die Berechtigungen drwxr-xr-x sind 755 (ignorieren Sie einfach den führenden dr, es ist also wxr-xr-x). Leseberechtigungen sind 4 wert, Schreibberechtigungen sind 2 wert und Ausführungsberechtigungen sind 1 wert. Wenn also alle Berechtigungen 7 ergeben, hat der Eigentümer dieser Datei diese Berechtigung. Die Gruppe hat Lese- und Ausführungsberechtigungen, aber keine Schreibberechtigungen. Sie hat also 5 und jeder hat auch 5 Berechtigungen. 755.
754 wären Eigentümer, die lesen, schreiben, ausführen müssen. Gruppe, die gelesen und ausgeführt hat, und alle, die nur Leseberechtigungen haben.
Im obigen Beispiel sehen Sie, dass der Dateibesitzer www-data ist (dies ist die Standard-Webservergruppe für viele Apache-Server) und die Gruppe ist die Gruppe myGroup, die die Gruppe (Administratoren) ist, der ich angehöre.
Die erste Zahl sind die Berechtigungen des Besitzers, die zweite die Berechtigungen der Gruppe und die dritte Zahl sind die Berechtigungen aller. Natürlich müssen Sie darauf achten, dem Webserver die erforderlichen Berechtigungen zu erteilen ... und sicherstellen, dass die Dateien, die gesperrt werden müssen, nicht von irgendjemandem (der dritten Nummer) geschrieben oder ausgeführt werden können. Nachfolgend sehen Sie, was die Zahlen bedeuten:
Angenommen, der Webserver besitzt die Dateien, ist Ihr Administrator in der Gruppe, und natürlich ist jeder die dritte Nummer.
644: Dateien mit den Berechtigungen 644 können von jedem gelesen und nur vom Eigentümer der Datei / des Ordners beschrieben werden.
755: Dateien mit den Berechtigungen 755 können von jedem gelesen und ausgeführt werden, jedoch nur vom Datei- / Ordnereigentümer beschrieben werden.
777: Dateien mit den Berechtigungen 777 können von jedem gelesen, geschrieben und ausgeführt werden. Verwenden Sie diesen Berechtigungssatz aus Sicherheitsgründen nicht auf Ihrem Webserver, es sei denn, dies ist unbedingt erforderlich und nur vorübergehend. Es ist eine Katastrophe, die auf Sie wartet, insbesondere wenn ein Verzeichnis über diese Berechtigungen verfügt. Dies bedeutet, dass jeder Dateien hochladen und ausführen kann.
Hier sind die Linux-Befehle zum Einrichten des Joomla! Empfohlene Berechtigungen über die Befehlszeile. Empfohlene Joomla-Dateiberechtigungen
HINWEIS - viele Leute werden Ihnen diese Befehle ohne Pfad anzeigen, aber ich bevorzuge es IMMER, den vollständigen Pfad zu verwenden, denn wenn Sie vergessen, die Verzeichnisse in das Stammverzeichnis von Joomla! Zu ändern. Installationsverzeichnis und führen Sie sie ohne den Pfad aus. Sie haben gerade die Berechtigungen für jede Datei und jedes Verzeichnis in diesem obersten Verzeichnis geändert und ein großes Durcheinander verursacht.
Nachdem Sie diese Befehle ausgeführt haben, müssen Sie die Berechtigungen für alle Verzeichnisse festlegen, für die weitere Berechtigungen erforderlich sind, z. B. für Benutzer, die Bilder usw. hochladen.
WENN SIE NUR DAS JOOMLA BENUTZEN! Wenn Sie keinen Administrator- oder FTP-Zugriff auf den Server haben, verwenden Sie die oben genannten Berechtigungen und EIGENTÜMER.
STOPPEN SIE HIER, WENN SIE EIN NOVICE SIND. Das Folgende ist nur für Leute gedacht, die wirklich verstehen, was Berechtigungen und Eigentümer tun.
Ich finde es jedoch sehr unhandlich, wenn ich Eigentümer und Berechtigungen auf diese Weise habe, da ich die meiste Zeit FileZilla und eine Terminal-Sitzungsbefehlszeile verwende und viele Dateien manuell hochlade. Ich kann jedoch keine Dateien überschreiben, da sie mir nicht gehören und ich keine Schreibberechtigung habe. Ich könnte FileZilla unter dem Webserverkonto anmelden, ABER ... Ich möchte, dass FileZilla sich unter meinem Konto anmeldet, damit ich auch andere Verzeichnisse durchsuchen kann, nicht nur die Dateien, auf die der Webserver Zugriff hat ... SO ... Ich ändere das Eigentum und die Berechtigungen dazu:
Ich mache mich selbst zum Eigentümer und stelle den Webserver in die Gruppe ... und ändere die Berechtigungen für Verzeichnisse auf 775 und für Dateien auf 664. Erleichtert mir das Leben erheblich ... aber ich empfehle es nicht für jeder.
Wenn Sie es auf meine Weise tun, sind dies die Befehle:
quelle
Die anderen Antworten bieten eine gute Erklärung, was zu tun ist. Ich möchte nur ein Skript hinzufügen, um die Berechtigungen zu korrigieren, wenn Sie bereits eine Komponente hochgeladen haben und nicht mit FTP auf die Dateien zugreifen können.
In diesem Fall würde ich diese Datei
fix.php
auf den FTP-Server hochladen und im Browser öffnen:http://example.com/fix.php
Dieses Skript setzt alle Dateiberechtigungen auf 666 und alle Verzeichnisse auf 777. World Writable ist nicht der beste Berechtigungssatz für einen freigegebenen Host, aber Sie können wieder auf Ihre Dateien zugreifen und ihn dann mit FTP auf die richtigen Werte setzen.
quelle
Spät zur Party. Ich bin hierher gekommen, um nach einer definitiven Anleitung zu suchen, welche Ordner für Joomla beschreibbar sein müssen.
Tut mir leid, dass ich der Vorbote schlechter Nachrichten bin.
Der Rat, die Berechtigungen 755 für alle Verzeichnisse und 644 für alle Ordner zu verwenden, ist zumindest unverantwortlich .
Es ist in Ordnung, alle Ordner und Dateien als Eigentümer beschreibbar zu machen, solange der Eigentümer nicht der Webserver ist (Apache et al.).
Ich weiß, dass dies eine allgemein empfohlene Praxis ist, aber ich kann Ihnen versichern, dass dies keine gute Praxis ist. Die letzte Software, die Sie zum Schreiben in Ordner verwenden möchten, ist der Webserver. Es ist der Webserver, der von Hackern verwendet wird, um den Exploit zu nutzen, der noch nicht gepatcht (oder sogar gefunden) wurde.
Denken Sie, dass .htaccess Ihren Kevin retten wird? Vergiss es, weil du dem Webserver Schreibzugriff gewährt hast. Unsere lieben Hacker-Freunde können ihre eigenen .htaccess-Dateien erstellen und ihnen die Berechtigungen geben, die sie wollen! Oh, ich weiß nicht, ob Umm .jpg-Dateien vom Server ausführbar macht. Und Sie dachten, der Schutz vor der Ausführung von .php würde Ihr A verdecken.
Stellen Sie jedoch sicher, dass nur die Ordner, für die Schreibzugriff erforderlich ist, über diese Berechtigung verfügen. 755 und 644 für die folgenden Ordner.
Und stellen Sie sicher, dass Sie .htaccess-Dateien mit AllowOveride none für alle beschreibbaren Ordner (wie die oben genannten) ausschalten.
Für diejenigen unter Ihnen, die Shared Hosting betreiben, ist dies ein Konfigurationselement, das Sie nicht kontrollieren können.
Denken Sie nicht, dass es hilfreich ist, die .htaccess-Datei schreibgeschützt zu machen. Wenn unsere Hacker-Freunde einen neuen Ordner erstellen können, können sie ihren eigenen .htaccess erstellen.
Für diejenigen unter Ihnen, die Shared Hosting für alles betreiben, was heilig ist, besorgen Sie sich bitte einen Hinweis auf die Sicherheit.
Wenn Sie Sicherheit nicht verstehen, verlassen Sie bitte das Hosting-Geschäft, das Sie für den Rest von uns schwierig machen.
Zurück zu meiner Suche nach dem endgültigen Leitfaden für Ordner, die Schreibzugriff benötigen ...
quelle