Ich vermute, dass die Berechtigungen bei meiner Magento 2-Installation durcheinander geraten sind. Auf den alten Versionen würde ich den folgenden Befehl ausführen, um Ordner 755 und Dateien 644 zu erstellen:
find . -type f -exec chmod -c 644 {} \; && find . -type d -exec chmod -c 755 {} \;
Können Sie mir bitte mitteilen, welche Datei- und Ordnerberechtigungen für Magento 2 korrekt sind, da sie sich zu unterscheiden scheinen? Auch wenn es bestimmte Ordner oder Dateien gibt, für die andere Berechtigungen erforderlich wären.
magento2
permissions
Neekoy
quelle
quelle
var/cache
undpub/static
suid-Bits gesetzt werden müssen. Ich verwendete:find var/cache -type d -print0 | xargs -0 sudo chmod 1775
Antworten:
Sie können auf http://devdocs.magento.com/ verweisen.
Die wichtigen Dinge:
Der Besitzer des Magento-Dateisystems: Muss die volle Kontrolle (Lesen / Schreiben / Ausführen) über alle Dateien und Verzeichnisse haben.
Darf nicht der Webserver-Benutzer sein. Es sollte ein anderer Benutzer sein.
Der Webserver-Benutzer muss Schreibzugriff auf die folgenden Dateien und Verzeichnisse haben: var app / etc pub (und wahrscheinlich neu in 2.2.1 :) generiert
Darüber hinaus muss die Gruppe des Webservers das Magento-Dateisystem besitzen, damit der Magento-Benutzer (der sich in der Gruppe befindet) den Zugriff auf Dateien für den Webserver-Benutzer freigeben kann. (Dies schließt Dateien ein, die mit Magento Admin oder anderen webbasierten Dienstprogrammen erstellt wurden.)
Wir empfehlen, die Berechtigungen wie folgt festzulegen:
Sie sollten wie unten empfohlen einstellen.
Ich hoffe, dies wird dir helfen.
quelle
\;
zB:find ./var -type d -exec chmod 777 {} \;
chmod u+x bin/magento
in der Lage sein, Konsolenbefehle auszuführen.In einigen seltenen Fällen können Sie 770 und 660 nicht verwenden, wie @MagenX sagt, 755 und 644 könnten auch die Erlaubnis sein, die Sie benötigen. (Einige Fast-CGI-Benutzer, denke ich)
In diesem Fall führen Sie Folgendes aus:
Das scheint das Problem zu beheben, aber wenn Magento neue Dateien oder Verzeichnisse generiert, haben diese wieder die Berechtigung 770 und 660. Sie können diese Standardwerte für chmod in den folgenden Dateien bearbeiten:
Führen Sie nach diesen Änderungen den ersten Befehl erneut aus. Danach sollten neu generierte Dateien kein Problem mehr darstellen.
Hinweis: Das Bearbeiten solcher Dateien ist nie eine gute Idee, aber ich vermute, dass diese chmod-Optionen in Zukunft konfigurierbar sein werden, also habe ich den einfachen Weg gewählt.
quelle
Sie können die in der Magento-Dokumentation empfohlene Methode verwenden :
quelle
Für lokale Entwicklung eingestellt
pub
undvar
auf 775 oder 777quelle
Wenn Sie SELinux verwenden (zB CentOS), versuchen Sie:
(natürlich aus dem magento root ordner)
quelle
In der Magento Community empfehlen
Wir empfehlen, die Berechtigungen wie folgt festzulegen:
Alle Verzeichnisse haben 770 Berechtigungen. Mit 770-Berechtigungen erhalten der Besitzer und die Gruppe die volle Kontrolle (dh Lesen / Schreiben / Ausführen), und es werden keine Berechtigungen für andere Personen erteilt.
Alle Dateien haben 660 Berechtigungen. 660 Berechtigungen bedeuten, dass der Eigentümer und die Gruppe lesen und schreiben können, andere Benutzer jedoch keine Berechtigungen haben.
Weitere Informationen finden Sie unter https://devdocs.magento.com/guides/v2.3/install-gde/prereq/file-system-perms.html
quelle
Ähnliches Problem auch beim Freigeben von Hosting:
Magento 2: Empfohlene Dateiberechtigung für freigegebenes Hosting
devdocs magento für Berechtigungen:
http://devdocs.magento.com/guides/v2.0/install-gde/prereq/file-system-perms.html
und für Produkte:
http://devdocs.magento.com/guides/ v2.0 / config-guide / prod / prod_file-sys-perms.html
quelle
Legen Sie diesen Inhalt in Ihrem Stammordner ab und führen Sie ihn dann mit der Konsole aus.
Vergiss es nicht
chmod +x yourfile.sh
.quelle
Sie müssen nur sicherstellen, dass die Dateien dem Benutzer gehören, der PHP ausführt, oder bei cPanel - cpanel-Benutzer und derselben Gruppe
so ist dein befehl gut:
Aktualisiere einfach den Dateibesitzer:
wo
user
ist der besitzer,user
der php betreibtAnstatt die Berechtigungen jedes Mal zu ändern, müssen Sie sich als richtiger Benutzer, Dateieigentümer, von root zu user anmelden / arbeiten:
quelle
Detaillierte Informationen finden Sie auch unter http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html
quelle
Ich habe auf diese Weise für CentOS Linux 7.4.1708 auf Plesk Onyx 17.8.11 gelöst
quelle
Führen Sie diese Befehle als Root aus. Wenn Sie bereits 777 die Erlaubnis erteilt haben, setzen Sie sie mit den ersten beiden Befehlen zurück, ansonsten fahren Sie mit dem Rest fort.
Setzen Sie den Besitz auf Magento-Benutzer und Webbenutzer mit
Durch Ausführen dieser Befehle wird die Berechtigung für Ordner und Dateien im Magento-Stammverzeichnis sowie für die Erstellung der neuen Dateien in den Verzeichnissen var, pub und generated festgelegt.
Führen Sie keinen Befehl als Root-Benutzer aus, da dies dazu führen kann, dass die neuen statischen Dateien mit Root-Eigentümern erstellt werden. Dies kann dazu führen, dass der Webbenutzer nicht auf solche Dateien zugreifen kann und Sie zur Erteilung von 777-Berechtigungen gezwungen werden Bitte setzen Sie es zurück. Führen Sie Magento-Befehle als Magento-Benutzer aus .
quelle