2017-12-08 2 views
1

Ich habe eine Upload-Bild-Funktion in meiner Website. Ich habe es in meinem localhost versucht und es hat gut funktioniert. Jetzt gehosteten ich es, und der folgende Fehler aufgetreten:Bild Upload Fehler aufgrund der Berechtigung zum Schreiben verweigert

bewegen hochgeladene Datei-Stream Erlaubnis zu öffnen, ist fehlgeschlagen verweigert

ich den Fehler online überprüft und festgestellt, dass die chmod auf 777 durch Änderung, kann es sein, gelöst.

Ich versuchte das gleiche, und es hat funktioniert. Sogar 713 funktioniert gut. Aber 777 Erlaubnis zu geben, ist nicht gut wegen Hacking-Möglichkeiten.

Gibt es einen Weg um dies? Ich habe gerade den chmod auf 713 geändert, bis ich eine bessere Lösung für dasselbe bekommen kann.

Ich habe zur Zeit in der Google Cloud Platform mit Ubuntu 16.04 Bild gehostet

+0

Es ist der Benutzer, den der Webserver verwendet (wie "www-Daten" für Apache), die Lese-/Schreibzugriff auf diesen Ordner haben muss. Wenn dieser Benutzer der Besitzer ist, sollte 755 ausreichen. –

Antwort

1

Sie 2 Möglichkeiten nutzen kann.

1) können Sie den Besitzer aus dem Upload-Verzeichnis für den Benutzer Apache ändern

chmod www-data:www-data your_folder 

aber dies hat einige negative Auswirkungen. Ihr ssh-Benutzer kann Dateien hier nur mit Root-Rechten bearbeiten.

2) Erstellen einer Gruppe können nur für das Hochladen von Dateien und setzen Sie Ihre ssh Benutzer und den Apache-Benutzer in dieser Gruppe

sudo addgroup uploaders 
sudo usermod -aG uploaders www-data 
sudo usermod -aG uploaders your_user 

nach dieser Änderung den Besitzer des Upload-Ordner

chmod your_user:uploaders your_folder 

Danach können Sie die Berechtigungen auf 744 oder etwas ändern, das Sie wollen

Verwandte Themen