如果你給予任何資料夾777權限,就是允許任何人讀取、修改、執行該目錄中的任何檔案。這意味著你已經給任何人(任何黑客或惡意的人在整個世界)的權限上傳任何文件,病毒或任何其他文件,然後執行該文件。
如果您正在將您的資料夾權限設定為777,那麼您已經將您的伺服器開啟給任何可以找到該目錄的人。明白了嗎?
任何人的標誌意味著任何用戶,而不是任何人。您仍然需要伺服器存取。
基本上有兩種方法來設定您的所有權和權限。要么給自己所有權,要么讓 web 伺服器成為所有文件的所有者。
【相關推薦:最新的五個Laravel影片教學】
Webserver 作為擁有者(大多數人的做法,以及Laravel doc 的做法) :
假定www-data
是你的web 服務使用者(也有可能是其他的名字)。
sudo chown -R www-data:www-data /path/to/your/laravel/root/directory
如果你這樣做,web 服務所擁有的檔案也會變成這個群組,這樣你使用FTP 上傳檔案時就會出現一些問題,因為FTP 用戶端會使用你的帳號登錄,不是你的web 服務,所以你應該將你的用戶加入web 服務的用戶群組。
sudo usermod -a -G www-data ubuntu
當然,這假設你的 web 服務以 www-data 用戶運行(Homestead 預設),並且你的用戶是 ubuntu(如果在 Homestead 中則是 vagrant)。然後將你所有的目錄設定為 755,所有的檔案設定為 644。
sudo find /path/to/your/laravel/root/directory -type f -exec chmod 644 {} \;
設定目錄權限
sudo find /path/to/your/laravel/root/directory -type d -exec chmod 755 {} \;
您的使用者作為所有者
我更喜歡擁有所有的目錄和檔案(這使得處理任何事情都比較容易) ,所以,轉到laravel 根目錄:
cd /var/www/html/laravel >> assuming this is your current root directory
sudo chown -R $USER:www-data .
然後我給自己和網站伺服器兩個權限:
sudo find . -type f -exec chmod 664 {} \; sudo find . -type d -exec chmod 775 {} \;
然後給網站伺服器讀寫儲存和緩存的權利
無論你以何種方式設定它,你都需要給網頁伺服器讀寫權限,以便儲存、快取和網站伺服器需要上傳或寫入的任何其他目錄(取決於你的情況) ,所以運行下面的命令:
sudo chgrp -R www-data storage bootstrap/cache sudo chmod -R ug+rwx storage bootstrap/cache
現在,你的網站是安全的,你可以很容易地處理這些文件
##原文地址:https:// stackoverflow.com/questions/30639174/how-to-set-up-file-permissions-for-laravel譯本地址:https://learnku.com/laravel/t/62112
以上是Laravel目錄權限你知道怎麼設定嗎? (兩種方法)的詳細內容。更多資訊請關注PHP中文網其他相關文章!