回答
這絕不是完美的。這意味着每個人都可以將寫入該目錄,並且每個人都允許讀取和寫入日誌文件。
您應該確定生成PHP進程的用戶並相應地設置文件/目錄所有權。幾乎在任何情況下,對於目錄和文件,分別爲0700
和0600
就足夠了。
007和006幾乎肯定是不是你想要什麼。在文件權限中,最後一位數字是「世界」的代碼,每個人都不是你。
如果您的Web服務器配置了suid或類似的東西,您可以將您的權限設置爲770或660,甚至可能是700或600.這些權限限制性更強,這正是您想要的。
我不會說它是完美的,這取決於你想要完成什麼,以及你的用戶是如何設置的......那也不是最小的。通過該設置,每個人都可以讀取該目錄的寫入和執行。每個人都可以讀取和寫入文件。
如果可以的話,文件log.txt應該已經存在,那麼您根本就不需要擁有文件夾的權限。而且我只允許在文件中讀取和寫入需要權限的特定用戶和組。將可寫數據保存在Web根目錄之上也是一個好主意,那麼如果有人設法讓它進入它不應該存在的地方,那麼它不能直接在Web上訪問。
首先,test.php應該可能作爲授予其權限的用戶組中的特定用戶執行。
其次,您應該允許寫入該組,而不是每個人。權限八位數字中的三位數字向所有者,組和其他人授予權限。正如你已經設置了你的權限,你基本上讓每個人都看到你的日誌並執行你的日誌文件夾中的東西。
您可能想要給該文件夾的所有者和組完全權限並讀取/寫入日誌文件,同時也讓其他人不在文件夾中。既然如此,您想要設置文件夾的權限爲770,文件的權限爲660。只要test.php作爲擁有log.txt的用戶或組執行,它就可以正常工作並且保持警惕。
而不是文件夾上的770,它會更好,如果log.txt已經存在,它聽起來不像它的上傳腳本或類似的東西,所以這應該工作。另外值得注意的是,日誌文件夾最好位於Web根目錄之上。 – profitphp
我已將日誌文件移動到公用文件夾之上,但它仍然只能與006一起使用。如果它位於公用文件夾之外,可以將其保留爲006嗎? – David19801
@david將它移動到Web根目錄之外實際上只是一種增加的安全措施,與您正在做的事情無關。它不會使006更安全或更具限制性。 – profitphp
- 1. 文件夾寫權限
- 2. 寫入appdata文件夾 - 權限問題?
- 3. PHP:文件的寫權限
- 4. php文件夾和文件權限
- 5. 用PHP和IIS爲根文件夾寫入權限(WebsitePanel)
- 6. Sqlite的PHP權限問題/寫入到不同的文件夾
- 7. PHP無法寫入文件 - 777權限!
- 8. 在php和xml文件寫入權限
- 9. php寫入文件和設置權限
- 10. 文件寫入權限
- 11. 權限寫入文件
- 12. 文件夾權限
- 13. 文件夾權限?
- 14. 文件夾權限
- 15. 文件夾權限
- 16. Android文件夾的讀寫權限
- 17. Yii的文件夾沒有寫權限
- 18. 「程序文件」文件夾下的文件寫入權限問題
- 19. php創建341權限的文件夾
- 20. C#測試用戶是否有寫入文件夾的權限
- 21. 確定應用程序文件夾的寫入權限
- 22. 是否可以安全地將ApplicationPoolIdentity寫入權限寫入Web應用程序文件夾內的文件夾?
- 23. PHP ftp_chmod和文件夾權限
- 24. PHP文件夾權限問題
- 25. ec2用戶沒有權限寫入web文件夾
- 26. 無法寫入給文件夾權限用戶
- 27. 告訴PHP將文件保存到該文件夾時的文件夾權限?
- 28. PHP文件權限
- 29. PHP文件權限
- 30. 對聊天文件的寫入權限
下用戶/組是你的PHP腳本運行?什麼用戶/組是/ log文件夾的所有者? – Ass3mbler
此問題更適合http://webmasters.stackexchange.com/或http://serverfault.com/。 – Shaun
我不知道用戶/組是什麼,它運行的腳本,我只是把它放在我的服務器主文件夾。我嘗試了770文件夾和660文件,但它說訪問被禁止。 – David19801