Wenn Sie einem Ordner 777-Berechtigungen erteilen, kann jeder jede Datei im Verzeichnis lesen, ändern und ausführen. Das bedeutet, dass Sie jedem (jedem Hacker oder böswilligen Menschen auf der ganzen Welt) die Erlaubnis gegeben haben, eine Datei, einen Virus oder eine andere Datei hochzuladen und diese Datei dann auszuführen.
Wenn Sie Ihre Ordnerberechtigungen auf 777 festlegen, haben Sie Ihren Server für jeden geöffnet, der dieses Verzeichnis finden kann. Habe es?
Anyone-Logo bezeichnet jeden Benutzer, nicht irgendjemanden. Sie benötigen weiterhin Serverzugriff.
Es gibt grundsätzlich zwei Möglichkeiten, Ihre Eigentumsrechte und Berechtigungen festzulegen. Geben Sie sich entweder selbst den Besitz oder machen Sie den Webserver zum Eigentümer aller Dateien.
[Verwandte Empfehlungen: Die neuesten fünf Laravel-Video-Tutorials]
Webserver als Eigentümer (was die meisten Leute tun und was Laravel-Dokumente tun):
Annehmenwww-data
ist Ihr Webdienstbenutzer (auch verfügbar). ein anderer Name).
sudo chown -R www-data:www-data /path/to/your/laravel/root/directory
Wenn Sie dies tun, werden die Dateien, die dem Webdienst gehören, ebenfalls zu dieser Gruppe, sodass es einige Probleme geben wird, wenn Sie FTP zum Hochladen von Dateien verwenden, da der FTP-Client Ihr Konto zum Anmelden verwendet, nicht Ihr Web service , daher sollten Sie Ihren Benutzer zur Benutzergruppe des Webdienstes hinzufügen.
sudo usermod -a -G www-data ubuntu
Natürlich wird davon ausgegangen, dass Ihr Webdienst als WWW-Data-Benutzer (Homestead-Standard) ausgeführt wird und Ihr Benutzer Ubuntu ist (oder Vagrant, wenn Sie sich in Homestead befinden). Stellen Sie dann alle Ihre Verzeichnisse auf 755 und alle Ihre Dateien auf 644 ein.
sudo find /path/to/your/laravel/root/directory -type f -exec chmod 644 {} \;
Verzeichnisberechtigungen festlegen
sudo find /path/to/your/laravel/root/directory -type d -exec chmod 755 {} \;
Ihr Benutzer als Eigentümer
Ich ziehe es vor, alle Verzeichnisse und Dateien zu besitzen (das macht den Umgang mit allem einfacher), also gehen Sie in das Laravel-Stammverzeichnis:
cd /var/www/html/laravel >> assuming this is your current root directory
sudo chown -R $USER:www-data .
Dann habe ich es mir selbst gegeben und dem Webserver zwei Berechtigungen:
sudo find . -type f -exec chmod 664 {} \; sudo find . -type d -exec chmod 775 {} \;
Dann erteilte er dem Webserver Lese- und Schreibberechtigungen zum Speichern und Zwischenspeichern.
Unabhängig davon, wie Sie es einrichten, müssen Sie dem Webserver Lese- und Schreibberechtigungen zum Speichern erteilen , Cache und alle anderen Verzeichnisse, die der Website-Server hochladen oder in die sie schreiben muss (abhängig von Ihrer Situation), also führen Sie den folgenden Befehl aus:
sudo chgrp -R www-data storage bootstrap/cache sudo chmod -R ug+rwx storage bootstrap/cache
Jetzt ist Ihre Website sicher und Sie können problemlos mit diesen Dateien umgehen
Originaladresse : https://stackoverflow.com/questions/30639174/how-to-set-up-file-permissions-for-laravel
Übersetzungsadresse: https://learnku.com/laravel/t/62112
Das obige ist der detaillierte Inhalt vonWissen Sie, wie man Laravel-Verzeichnisberechtigungen festlegt? (zwei Methoden). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!